• Miklos Szeredi's avatar
    fuse: umount should wait for all requests · b8f95e5d
    Miklos Szeredi authored
    fuse_abort_conn() does not guarantee that all async requests have actually
    finished aborting (i.e. their ->end() function is called).  This could
    actually result in still used inodes after umount.
    
    Add a helper to wait until all requests are fully done.  This is done by
    looking at the "num_waiting" counter.  When this counter drops to zero, we
    can be sure that no more requests are outstanding.
    
    Fixes: 0d8e84b0 ("fuse: simplify request abort")
    Cc: <stable@vger.kernel.org> # v4.2
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
    b8f95e5d
dev.c 52 KB