From: Zdenek Kabelac <zkabelac@redhat.com>
To: Jan Kara <jack@suse.cz>, Mikulas Patocka <mpatocka@redhat.com>
Cc: Christian Brauner <brauner@kernel.org>,
Alexander Viro <viro@zeniv.linux.org.uk>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
dm-devel@redhat.com, Christoph Hellwig <hch@lst.de>,
"Darrick J. Wong" <djwong@kernel.org>
Subject: Re: [PATCH] fix writing to the filesystem after unmount
Date: Fri, 8 Sep 2023 11:29:40 +0200 [thread overview]
Message-ID: <86235d7a-a7ea-49da-968e-c5810cbf4a7b@redhat.com> (raw)
In-Reply-To: <20230908073244.wyriwwxahd3im2rw@quack3>
Dne 08. 09. 23 v 9:32 Jan Kara napsal(a):
> On Thu 07-09-23 14:04:51, Mikulas Patocka wrote:
>>
>> On Thu, 7 Sep 2023, Christian Brauner wrote:
>>
>>>> I think we've got too deep down into "how to fix things" but I'm not 100%
>>> We did.
>>>
>>>> sure what the "bug" actually is. In the initial posting Mikulas writes "the
>>>> kernel writes to the filesystem after unmount successfully returned" - is
>>>> that really such a big issue?
>> I think it's an issue if the administrator writes a script that unmounts a
>> filesystem and then copies the underyling block device somewhere. Or a
>> script that unmounts a filesystem and runs fsck afterwards. Or a script
>> that unmounts a filesystem and runs mkfs on the same block device.
> Well, e.g. e2fsprogs use O_EXCL open so they will detect that the filesystem
> hasn't been unmounted properly and complain. Which is exactly what should
> IMHO happen.
>
>>>> Anybody else can open the device and write to it as well. Or even
>>>> mount the device again. So userspace that relies on this is kind of
>>>> flaky anyway (and always has been).
>> It's admin's responsibility to make sure that the filesystem is not
>> mounted multiple times when he touches the underlying block device after
>> unmount.
> What I wanted to suggest is that we should provide means how to make sure
> block device is not being modified and educate admins and tool authors
> about them. Because just doing "umount /dev/sda1" and thinking this means
> that /dev/sda1 is unused now simply is not enough in today's world for
> multiple reasons and we cannot solve it just in the kernel.
>
Hi
/me just wondering how do you then imagine i.e. safe removal of USB drive when
user shall not expect unmount really unmounts filesystem?
IMHO - unmount should detect some very suspicious state of block device if it
cannot correctly proceed - i.e. reporting 'warning/error' on such commands...
Main problem is - if the 'unmount' is successful in this case - the last
connection userspace had to this fileystem is lost - and user cannot get rid
of such filesystem anymore for a system.
I'd likely propose in this particular state of unmounting of a frozen
filesystem to just proceed - and drop the frozen state together with release
filesystem and never issue any ioctl from such filelsystem to the device below
- so it would not be a 100% valid unmount - but since the freeze should be
nearly equivalent of having a proper 'unmount' being done - it shoudn't be
causing any harm either - and all resources associated could be
'released. IMHO it's correct to 'drop' frozen state for filesystem that is
not going to exist anymore (assuming it's the last such user)
Regards
Zdenek
next prev parent reply other threads:[~2023-09-08 9:30 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-06 13:26 Mikulas Patocka
2023-09-06 14:27 ` Christian Brauner
2023-09-06 15:03 ` Mikulas Patocka
2023-09-06 15:33 ` Christian Brauner
2023-09-06 15:58 ` Christian Brauner
2023-09-06 16:01 ` Mikulas Patocka
2023-09-06 16:19 ` Christian Brauner
2023-09-06 16:52 ` Mikulas Patocka
2023-09-07 9:44 ` Jan Kara
2023-09-07 10:43 ` Christian Brauner
2023-09-07 12:04 ` Mikulas Patocka
2023-09-08 7:32 ` Jan Kara
2023-09-08 9:29 ` Zdenek Kabelac [this message]
2023-09-08 10:20 ` Jan Kara
2023-09-08 12:02 ` Christian Brauner
2023-09-08 16:49 ` John Stoffel
2023-09-09 11:21 ` Christoph Hellwig
[not found] ` <15c62097-d58f-4e66-bdf5-e0edb1306b2f@redhat.com>
2023-09-08 11:32 ` Christian Brauner
2023-09-08 12:07 ` Zdenek Kabelac
2023-09-08 12:34 ` Christian Brauner
2023-09-12 9:10 ` Jan Kara
2023-09-08 12:01 ` Pavel Machek
2023-09-08 11:59 ` Pavel Machek
2023-09-06 17:10 ` Al Viro
2023-09-06 17:08 ` Al Viro
2023-09-06 15:22 ` Darrick J. Wong
2023-09-06 15:38 ` Christian Brauner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86235d7a-a7ea-49da-968e-c5810cbf4a7b@redhat.com \
--to=zkabelac@redhat.com \
--cc=brauner@kernel.org \
--cc=djwong@kernel.org \
--cc=dm-devel@redhat.com \
--cc=hch@lst.de \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mpatocka@redhat.com \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®