linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andreas Dilger <adilger@clusterfs.com>
To: "J. Bruce Fields" <bfields@fieldses.org>
Cc: Alexandre Ratchov <alexandre.ratchov@bull.net>,
	linux-ext4@vger.kernel.org, nfsv4@linux-nfs.org
Subject: Re: rfc: [patch] change attribute for ext3
Date: Tue, 28 Nov 2006 14:06:22 -0800	[thread overview]
Message-ID: <20061128220622.GB5673@schatzie.adilger.int> (raw)
In-Reply-To: <20061128190016.GH6375@fieldses.org>

On Nov 28, 2006  14:00 -0500, J. Bruce Fields wrote:
> On Thu, Nov 23, 2006 at 05:23:11PM -0700, Andreas Dilger wrote:
> > On Nov 14, 2006  15:17 -0700, Andreas Dilger wrote:
> > > I've been giving this further thought, and it may be that a full 64-bit
> > > counter per inode is the only bulletproof solution.
> > > 
> > > One reason that ctime+nsec as the version number isn't so great is that if
> > > there is some reason to set the clock backward (i.e. it was incorrectly
> > > set into the future at some point) the inode ctime may jump backward.
> > > This could cause either misordering of events, or collisions between
> > > version numbers.  The problem could be mitigated by having the ctime+nsec
> > > value only increment the nsec component by 1 for each new version (like
> > > a counter) until real time catches up with the bad ctime, but it might
> > > leave files with a bad ctime for a long time.
> > > 
> > > The main drawback of a 64-bit counter is the space in the inode that it
> > > consumes...  I don't think we can find 64 bits of free space in the core
> > > inode, so this would relegate the solution to new filesystems that are
> > > formatted with large inodes.
> > 
> > Alexandre, Trond,
> > what do you think about using a 32-bit in-inode version (sufficient for
> > causal uses of NFSv4),
> > and put the 32-bit MSB of the version into the
> > large part of the inode (say after cr_time)?
> 
> So does that mean that the MSB of the change attribute would only be
> available on some filesystems, or that it would be available on all of
> them but be slower on those with smaller inodes?  And how does the user
> (e.g. the nfsd code) distinguish the two cases?

One other option is to use the other reserved field (l_i_reserved2) to
store the MSB of the version.

> > That allows use of the version for existing ext3 filesystems, and with
> > large inodes (Lustre, ext4) it also meets the specs of RFC 3530 and any
> > intended NFSv4 future use?

Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.

  reply	other threads:[~2006-11-28 22:06 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-13 16:42 rfc: [patch] change attribute for ext3 Alexandre Ratchov
2006-09-13 18:11 ` Trond Myklebust
2006-09-13 18:30   ` Alexandre Ratchov
2006-09-13 19:06     ` Trond Myklebust
2006-09-13 20:31       ` Randy.Dunlap
2006-09-14  9:23     ` Andreas Dilger
2006-09-14 13:48       ` Alexandre Ratchov
2006-11-14 22:17       ` Andreas Dilger
2006-11-24  0:23         ` Andreas Dilger
2006-11-28 19:00           ` J. Bruce Fields
2006-11-28 22:06             ` Andreas Dilger [this message]
2006-09-14 13:46   ` Peter Staubach
2006-09-14 13:56     ` Trond Myklebust
2006-09-14 14:06     ` Alexandre Ratchov
2006-12-14  1:24   ` Andreas Dilger
2006-12-14  1:52     ` J. Bruce Fields
2006-12-14 16:48       ` Trond Myklebust
2006-12-14 23:04         ` Andreas Dilger
2006-09-13 19:31 ` Andreas Dilger
2006-09-14  1:24   ` J. Bruce Fields
2006-09-14 13:21   ` Alexandre Ratchov
2006-09-14 21:01     ` Andreas Dilger
2006-09-15 10:19       ` Alexandre Ratchov
2006-09-15 16:18         ` Andreas Dilger
2006-11-29 18:54 ` [RFC] [patch 0/3] change attribute for ext4 Jean-Noel Cordenner

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=20061128220622.GB5673@schatzie.adilger.int \
    --to=adilger@clusterfs.com \
    --cc=alexandre.ratchov@bull.net \
    --cc=bfields@fieldses.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=nfsv4@linux-nfs.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;
as well as URLs for NNTP newsgroup(s).