Avoid Gio.Vfs reentrancy problems
Avoid Gio.Vfs reentrancy problems

Engine._lookup_ekn_uri() is passed as the parse_name callback for the
ekn:// URI scheme, so it's called with a lock held inside GVfs. Calling
Gio.Vfs.get_local() within that callback also tries to obtain the lock,
so it deadlocks. Instead, grab the file object to be returned beforehand
and just return it directly instead of getting it in the callback.

https://phabricator.endlessm.com/T14477

endlessm/eos-knowledge-lib,endlessm/eos-knowledge-lib,endlessm/eos-knowledge-lib,endlessm/eos-knowledge-lib