public inbox for linux-ext4@vger.kernel.org
 help / color / mirror / Atom feed
From: Theodore Tso <tytso@mit.edu>
To: Andreas Dilger <adilger@clusterfs.com>
Cc: linux-ext4@vger.kernel.org
Subject: Re: [PATCH, E2FSPROGS] On-disk format for inode extra size control inode size
Date: Wed, 18 Oct 2006 18:16:18 -0400	[thread overview]
Message-ID: <20061018221618.GA12378@thunk.org> (raw)
In-Reply-To: <20061018193437.GG3509@schatzie.adilger.int>

On Wed, Oct 18, 2006 at 01:34:38PM -0600, Andreas Dilger wrote:
> There was some discussion about moving the i_ctime_extra field into the
> small inode, for use as a version field by NFSV4.  The proposed field was
> l_i_reserved2 in the original Bull patch.

The potential problem with this is what if program makes a huge number
of changes to inodes, such that we end up having to bump the ctime
field into the future?

But I have another question --- why does this the change attribute
counter have to be a persistent value that takes up space in the inode
at all?  This is strictly a NFSv4 only hack, and NFSv4 simply requires
a 64-bit increasing counter when any inode attributes have changed, so
it can determine whether client-side caches are refreshed.

So let the high 32-bits of the attribute value be the time in seconds
that the system was booted (or the filesystem was mounted; I don't
care), and let the low 32-bit values be a value which is stored in the
in-core inode which is set to a global counter value which is
incremented whenever inode is changed.  If the in-core inode gets
dropped and then later reloaded, it will get a newer global counter
value, which may forced some clients to reload their cache when they
may not have needed to --- and the same would happen if the server
gets rebooted, since the high 32-bits would get bumped to the new
mount time.

But that's not a big deal, since it's only there to make client-side
caching side more efficient.  In these cases the clients may need to
refresh their inode cache from the server, but is that really going to
be such a bad thing?  

						- Ted

  reply	other threads:[~2006-10-18 22:16 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-18  6:25 [PATCH, E2FSPROGS] On-disk format for inode extra size control inode size Theodore Ts'o
2006-10-18 19:34 ` Andreas Dilger
2006-10-18 22:16   ` Theodore Tso [this message]
2006-10-18 22:59     ` 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=20061018221618.GA12378@thunk.org \
    --to=tytso@mit.edu \
    --cc=adilger@clusterfs.com \
    --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