]> git.baikalelectronics.ru Git - kernel.git/commit
fuse: retire block-device-based superblock on force unmount
authorDaniil Lunev <dlunev@chromium.org>
Wed, 27 Jul 2022 06:44:25 +0000 (16:44 +1000)
committerMiklos Szeredi <mszeredi@redhat.com>
Wed, 27 Jul 2022 09:30:31 +0000 (11:30 +0200)
commit19025e7e116384eb84ccd9142ec7ed34b52a2113
tree174d7bdf5415a614f5b60d4b051f894c5d405ef2
parent752b71be83a87da4bcd8e6f3eb6d3f72880c43c8
fuse: retire block-device-based superblock on force unmount

Force unmount of FUSE severes the connection with the user space, even if
there are still open files.  Subsequent remount tries to re-use the
superblock held by the open files, which is meaningless in the FUSE case
after disconnect - reused super block doesn't have userspace counterpart
attached to it and is incapable of doing any IO.

This patch adds the functionality only for the block-device-based supers,
since the primary use case of the feature is to gracefully handle force
unmount of external devices, mounted with FUSE.  This can be further
extended to cover all superblocks, if the need arises.

Signed-off-by: Daniil Lunev <dlunev@chromium.org>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/fuse/inode.c