[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <41252c7e-674b-c110-962b-c20204dc7424@themaw.net>
Date: Wed, 20 Jul 2022 10:31:26 +0800
From: Ian Kent <raven@...maw.net>
To: Al Viro <viro@...iv.linux.org.uk>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
David Howells <dhowells@...hat.com>,
Miklos Szeredi <miklos@...redi.hu>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 2/3] vfs: add propagate_mount_tree_busy() helper
On 20/7/22 09:54, Al Viro wrote:
> On Mon, Jul 11, 2022 at 11:37:46AM +0800, Ian Kent wrote:
>
>> +static int do_mount_in_use_check(struct mount *mnt, int cnt)
>> +{
>> + struct mount *topper;
>> +
>> + /* Is there exactly one mount on the child that covers
>> + * it completely?
>> + */
>> + topper = find_topper(mnt);
>> + if (topper) {
>> + int topper_cnt = topper->mnt_mounts_cnt + 1;
>> +
>> + /* Open file or pwd within singular mount? */
>> + if (do_refcount_check(topper, topper_cnt))
>> + return 1;
> Whatever the hell for? umount(2) will be able to slide the
> underlying mount from under the topper, whatever the
> refcount of topper might have been.
My thinking was that a process could have set a working
directory (or opened a descriptor) and some later change
to an autofs map resulted in it being mounted on. It's
irrelevant now with your suggested simpler approach, ;)
Ian
Powered by blists - more mailing lists