From: Andrew Morton <akpm@linux-foundation.org>
To: cmm@us.ibm.com
Cc: Neil Brown <neilb@suse.de>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-ext4@vger.kernel.org, nfsv4@linux-nfs.org
Subject: Re: [EXT4 set 4][PATCH 1/5] i_version:64 bit inode version
Date: Tue, 10 Jul 2007 23:35:29 -0700 [thread overview]
Message-ID: <20070710233529.7d8bfe9a.akpm@linux-foundation.org> (raw)
In-Reply-To: <1184123930.20193.61.camel@localhost.localdomain>
On Tue, 10 Jul 2007 23:18:50 -0400 Mingming Cao <cmm@us.ibm.com> wrote:
> On Tue, 2007-07-10 at 22:17 -0700, Andrew Morton wrote:
> > On Tue, 10 Jul 2007 22:09:08 -0400 Mingming Cao <cmm@us.ibm.com> wrote:
> >
> > > David Chinneer pointed that we need to journal the version number
> > > updates together with the operations that causes the change of the inode
> > > version number, in order to survive server crashes so clients won't see
> > > the counter go backwards.
> > >
> > > So increment i_version in fs code is probably the place to ensure the
> > > inode version changes are stored to disk. It's seems update the ext4
> > > inode version in every ext4_mark_inode_dirty() is the easiest way.
> >
> > That still makes us dependent upon _something_ changing the inode. For
> > overwrites the only something is mtime.
> >
> > If we don't want to have a peculiar dependency upon s_time_gran=1e9 (and
> > I don't think we do) then I guess we'll need new code in or around
> > file_update_time() to do this.
>
> do you mean mark inode dirty all the times in file_update_time()? Not
> sure about the overhead for ext3/4.
>
hm, I hadn't thought about it in any detail.
Maybe something like
--- a/fs/inode.c~a
+++ a/fs/inode.c
@@ -1238,6 +1238,11 @@ void file_update_time(struct file *file)
sync_it = 1;
}
+ if (IS_I_VERSION_64(inode)) {
+ inode_inc_iversion(inode); /* Takes i_lock on 32-bit */
+ sync_it = 1;
+ }
+
if (sync_it)
mark_inode_dirty_sync(inode);
}
_
?
next prev parent reply other threads:[~2007-07-11 6:35 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-01 7:37 [EXT4 set 4][PATCH 1/5] i_version:64 bit inode version Mingming Cao
2007-07-02 14:58 ` Mingming Cao
2007-07-03 14:24 ` Trond Myklebust
2007-07-03 21:56 ` Andreas Dilger
2007-07-03 22:15 ` J. Bruce Fields
2007-07-03 23:32 ` Andreas Dilger
2007-07-03 23:32 ` Andreas Dilger
2007-07-06 13:51 ` J. Bruce Fields
2007-07-06 22:53 ` Andreas Dilger
2007-07-09 21:16 ` Mingming Cao
2007-07-10 23:30 ` Andrew Morton
2007-07-10 22:09 ` Mingming Cao
2007-07-10 22:09 ` Mingming Cao
2007-07-11 1:22 ` Andrew Morton
2007-07-11 0:19 ` Mingming Cao
2007-07-11 0:19 ` Mingming Cao
2007-07-11 4:22 ` Andrew Morton
2007-07-11 2:27 ` Mingming Cao
2007-07-11 16:57 ` J. Bruce Fields
2007-07-11 3:21 ` Neil Brown
2007-07-11 2:09 ` Mingming Cao
2007-07-11 5:17 ` Andrew Morton
2007-07-11 5:17 ` Andrew Morton
2007-07-11 3:18 ` Mingming Cao
2007-07-11 6:35 ` Andrew Morton [this message]
2007-07-11 3:34 ` Trond Myklebust
2007-07-11 3:34 ` Trond Myklebust
2007-07-11 11:41 ` Andreas Dilger
2007-07-11 11:41 ` Andreas Dilger
2007-07-11 5:05 ` Neil Brown
2007-07-11 5:22 ` Andrew Morton
2007-07-11 5:22 ` Andrew Morton
2007-07-11 14:28 ` Dave Kleikamp
2007-07-11 20:04 ` J. Bruce Fields
2007-07-11 20:04 ` J. Bruce Fields
2007-07-12 4:56 ` Andreas Dilger
2007-07-11 17:26 ` J. Bruce Fields
2007-07-11 17:26 ` J. Bruce Fields
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=20070710233529.7d8bfe9a.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=cmm@us.ibm.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=neilb@suse.de \
--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 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.