Hello,

Sergey Bugaev, le jeu. 29 avril 2021 21:57:10 +0300, a ecrit:
> The reason I need it is I want to run some binaries directly form a tarfs
> mount, without unpacking them to disk (ext2fs).

Nice :)

> The pager reads and writes data the same way tarfs_read_node () and
> tarfs_write_node () do: namely, by calling into the existing cache
> implementation.

Actually I'd say the pager should replace the cache. The pager is
already a cache by itself, we should not need to keep both the pager and
the cache, particularly since it means having to keep both coherent.

> Is there a better way to deal with a held mutex that unlocking it
> before calling a function that re-locks it?

Yes, avoiding the situation. If you unlock a mutex, anything can then
happen, and you can easily get to an incoherent state.

> (Making the mutex recursive, perhaps?

That's usually frowned upon because it's often a sign that you don't
know at various places whether you hold the lock or not.

> Or extracting the inner part into its own function?)

Yes, in some cases that makes sense.

Samuel

Reply via email to