Messages in this thread | | | From | Miklos Szeredi <> | Date | Wed, 18 May 2022 13:57:45 +0200 | Subject | Re: [PATCH v2 2/2] FUSE: Retire superblock on force unmount |
| |
On Wed, 18 May 2022 at 00:32, Al Viro <viro@zeniv.linux.org.uk> wrote: > > On Tue, May 17, 2022 at 10:20:06PM +0000, Al Viro wrote: > > On Thu, May 12, 2022 at 08:29:10AM +1000, Daniil Lunev wrote: > > > 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. > > > > Why not simply have those simply rejected by fuse_test_super()? > > Looks like that would be much smaller and less invasive patch... > > Confused... > > ... because Miklos had suggested that, apparently ;-/ I disagree - > that approach has more side effects. "mount will skip that sucker" is, > AFAICS, the only effect of modiyfing test_super callback(s); yours, OTOH...
Yep, messing with the bdi doesn't look good. Fuse always uses a private bdi, so it's not even necessary.
Just removing from type->fs_supers should not have any side effects, at least I can't spot any.
Fixing fuse_test_super() is not sufficient, as the fuseblk type goes though get_tree_bdev(). That could be tweaked as well, but it would end up with more complexity.
Thanks, Miklos
| |