public inbox for linux-ext4@vger.kernel.org
 help / color / mirror / Atom feed
From: Kalpak Shah <kalpak@clusterfs.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: linux-ext4 <linux-ext4@vger.kernel.org>,
	Andreas Dilger <adilger@clusterfs.com>
Subject: Re: [RFC][PATCH] Multiple mount protection
Date: Fri, 01 Jun 2007 13:57:46 +0530	[thread overview]
Message-ID: <1180686466.4619.7.camel@garfield.linsyssoft.com> (raw)
In-Reply-To: <p731wgwcbac.fsf@bingen.suse.de>

On Fri, 2007-06-01 at 10:46 +0200, Andi Kleen wrote:
> Kalpak Shah <kalpak@clusterfs.com> writes:
> 
> > Hi,
> > 
> > There have been reported instances of a filesystem having been mounted at 2 places at the same time causing a lot of damage to the filesystem. This patch reserves superblock fields and an INCOMPAT flag for adding multiple mount protection(MMP) support within the ext4 filesystem itself. The superblock will have a block number (s_mmp_block) which will hold a MMP structure which has a sequence number which will be periodically updated every 5 seconds by a mounted filesystem. Whenever a filesystem will be mounted it will wait for s_mmp_interval seconds to make sure that the MMP sequence does not change. To further make sure, we write a random sequence number into the MMP block and wait for another s_mmp_interval secs. If the sequence no. doesn't change then the mount will succeed. In case of failure, the nodename, bdevname and the time at which the MMP block was last updated will be disp
 laye
> >  d. tune2fs can be used to set s_mmp_interval as desired.
> 
> That will make laptop users very unhappy if you spin up their disks every 5 seconds.  And
> even on other systems it might reduce the MTBF if you write the super block much more
> often than before. It might be better to set it up in some way to only increase
> that number when the super block is written for some other reason anyways.

The super block only saves the block number of the MMP block. So the
super block is not updated but the contents of the MMP block are updated
every 5 seconds.

If any user is unhappy with the 5 seconds interval, he can modify the
interval to be greater, with the caveat that it will take 2*mmp_interval
seconds during mounting the filesystem.

Thanks,
Kalpak.

> 
> -Andi

  reply	other threads:[~2007-06-01  8:24 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-21 19:52 [RFC][PATCH] Multiple mount protection Kalpak Shah
2007-05-22  7:15 ` Manoj Joseph
2007-05-22  7:34   ` Kalpak Shah
2007-05-22  7:53     ` Manoj Joseph
2007-05-22  8:06       ` Kalpak Shah
2007-05-24 23:25     ` Karel Zak
2007-05-25  6:44       ` Kalpak Shah
2007-05-25 14:39 ` Theodore Tso
2007-05-25 19:31   ` Jim Garlick
2007-05-25 21:36   ` Kalpak Shah
2007-05-30 20:58     ` Kalpak Shah
2007-05-31 16:16       ` Theodore Tso
2007-05-31 21:09         ` Kalpak Shah
2007-06-01  8:46 ` Andi Kleen
2007-06-01  8:27   ` Kalpak Shah [this message]
2007-06-01  9:14   ` Andreas Dilger
2007-06-01 10:56     ` Andi Kleen
2007-06-01 11:41   ` Theodore Tso
2007-06-01 12:13     ` Andi Kleen
2007-06-01 13:52       ` Theodore Tso
2007-06-01 18:00         ` Andreas Dilger

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=1180686466.4619.7.camel@garfield.linsyssoft.com \
    --to=kalpak@clusterfs.com \
    --cc=adilger@clusterfs.com \
    --cc=andi@firstfloor.org \
    --cc=linux-ext4@vger.kernel.org \
    /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