From: Bernd Schubert <bernd.schubert@fastmail.fm>
To: Eric Sandeen <sandeen@redhat.com>
Cc: Johann Lombardi <johann@whamcloud.com>,
linux-ext4@vger.kernel.org,
Andreas Dilger <adilger@whamcloud.com>
Subject: Re: [PATCH] ext4: add support for multiple mount protection
Date: Tue, 12 Apr 2011 23:41:25 +0200 [thread overview]
Message-ID: <4DA4C705.9060502@fastmail.fm> (raw)
In-Reply-To: <4DA4B885.6020004@redhat.com>
On 04/12/2011 10:39 PM, Eric Sandeen wrote:
> On 4/12/11 1:04 PM, Johann Lombardi wrote:
>> Prevent an ext4 filesystem from being mounted multiple times. A
>> sequence number is stored on disk and is periodically updated
>> (every 5 seconds by default) by a mounted filesystem. At mount
>> time, we now wait for s_mmp_update_interval seconds to make sure
>> that the MMP sequence does not change. In case of failure, the
>> nodename, bdevname and the time at which the MMP block was last
>> updated is displayed.
>>
>> Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
>> Signed-off-by: Johann Lombardi <johann@whamcloud.com> ---
>> fs/ext4/ext4.h | 56 ++++++++- fs/ext4/super.c | 363
>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files
>> changed, 416 insertions(+), 3 deletions(-)
>>
>
> There was a lot of skepticism about this last time, and I imagine
> there still is...
>
> 400 new lines of kernel code for this, and if the other machine is
> hung up for 5 seconds and doesn't update, it can still be
> multiply-mounted anyway, right?
>
> BUG: soft lockup - CPU#0 stuck for 10s! anyone? :(
Please see my other comment about the two different intervals. Yes,
there is a minimal chance of a race. But firstly, 5s are too small,
already for performance reasons (setting the update-interval to 5s will
increase the min check-interval to 25s). Secondly, the mount-wait time is
+ wait_time = min(mmp_check_interval * 2 + 1,
+ mmp_check_interval + 60);
So even with Johanns patch it is at least 12s.
Thirdly, the check-interval is automatically increased, if updating the
mmp block takes too long. This value will also be saved in the
mmp-block. Of course, it has a disadvantage - the mount time increases.
>
> I don't see the value in it for upstream ext4, but then hey, ext4
> rarely meets a feature it doesn't like ;)
Is ext4 is only used on desktop systems? IMHO, every HA solution that
does not use scsi reservations or another way to check if a device is
already in use, needs a solution like this. I have seen so many problems
with heartbeat/pacemaker to not properly detect an already mounted
devices (*) and this MMP patch already protected so many HA Lustre
installations from data corruption due to double mounts....
So why shouldn't other HA solutions benefit from such a nice feature?
Usually, the heartbeat/pacemaker issues to detect if a device is mounted
or not are due to unreliable information if a device is mounted or not.
/etc/mtab is entirely unreliable and /proc/mounts does not always show
if a device is mounted or not.
However, even if that would work somehow perfectly, without the MMP
patch there is still zero protection from user-errors. It can easily
happen an admin forgets about a mounted device and runs e2fsck or
manually mounts the device on another machine again.
So please, let this patch go in.
Thanks,
Bernd
next prev parent reply other threads:[~2011-04-12 21:41 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-12 18:04 [PATCH] ext4: add support for multiple mount protection Johann Lombardi
2011-04-12 19:20 ` Bernd Schubert
2011-05-02 13:43 ` Johann Lombardi
2011-04-12 20:39 ` Eric Sandeen
2011-04-12 21:08 ` Andreas Dilger
2011-04-12 21:11 ` Johann Lombardi
2011-04-12 21:41 ` Bernd Schubert [this message]
2011-04-12 21:44 ` Eric Sandeen
-- strict thread matches above, loose matches on Subject: below --
2011-05-02 8:11 MMP update Johann Lombardi
2011-05-02 9:36 ` [PATCH] ext4: add support for multiple mount protection Johann Lombardi
2011-05-23 2:19 ` Ted Ts'o
2011-05-14 0:38 Johann Lombardi
2011-05-24 21:47 ` Ted Ts'o
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=4DA4C705.9060502@fastmail.fm \
--to=bernd.schubert@fastmail.fm \
--cc=adilger@whamcloud.com \
--cc=johann@whamcloud.com \
--cc=linux-ext4@vger.kernel.org \
--cc=sandeen@redhat.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.