Re: [PATCH] FUSE: add the async option for the flush/release operation

From: Miklos Szeredi
Date: Wed Aug 10 2016 - 16:15:32 EST


On Wed, Aug 10, 2016 at 5:26 AM, Enke Chen <enkechen@xxxxxxxxx> wrote:
> Hi, Miklos:
>
> This patch adds the async option for the flush/release operation in FUSE.
>
> The async flush/release option allows a FUSE-based application to be terminated
> without being blocked in the flush/release operation even in the presence of
> complex external interactions. In addition, the async operation can be more
> efficient when a large number of fuse-based files is involved.
>
> ---
> Deadlock Example:
>
> Process A is a multi-threaded application that interacts with Process B,
> a FUSE-server.
>
>
> UNIX-domain socket
> App (A) ----------------------- FUSE-server (B)
> | |
> | |
> | |
> +-----------------------------------+
> open/flush/release

Why would the fuse server want to communicate with the app (using
other than the filesystem)?

Thanks,
Miklos