From: Andrew Morton <akpm@osdl.org>
To: Dave Hansen <haveblue@us.ibm.com>
Cc: Christoph Hellwig <hch@infradead.org>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/6] unlink: monitor i_nlink
Date: Wed, 9 Aug 2006 11:27:40 -0700 [thread overview]
Message-ID: <20060809112740.a964e5a2.akpm@osdl.org> (raw)
In-Reply-To: <1155143839.19249.151.camel@localhost.localdomain>
On Wed, 09 Aug 2006 10:17:19 -0700
Dave Hansen <haveblue@us.ibm.com> wrote:
> On Wed, 2006-08-09 at 18:11 +0100, Christoph Hellwig wrote:
> > On Wed, Aug 09, 2006 at 09:57:32AM -0700, Dave Hansen wrote:
> > >
> > > When a filesystem decrements i_nlink to zero, it means that a
> > > write must be performed in order to drop the inode from the
> > > filesystem.
> > >
> > > We're shortly going to have keep filesystems from being remounted
> > > r/o between the time that this i_nlink decrement and that write
> > > occurs.
> > >
> > > So, add a little helper function to do the decrements. We'll
> > > tie into it in a bit to note when i_nlink hits zero.
> > >
> > > Signed-off-by: Dave Hansen <haveblue@us.ibm.com>
> >
> > Acked-by: Christoph Hellwig <hch@lst.de>
>
> > Note that we all (and especially Andrew :)) need to be carefull not to
> > introduce unguarded i_nlink decrements again. Dave, you'll probably need
> > to do another audit when you introduce the real functionality.
>
> Yup, I have my eyes on it. git and mm commits should help as well.
>
A comprehensive way to do this sort of thing is to rename the field. We
have >500 references, so one would do:
struct inode {
...
union {
unsigned int i_nlink;
unsigned int i_nlink_use_the_accessors_please;
}
...
};
then, when everything in-tree is migrated, remove `i_nlink'.
It's a bit of a hassle, but it will give the most reliable result for both
in-tree and out-of-tree filesystems.
next prev parent reply other threads:[~2006-08-09 18:27 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-09 16:57 [PATCH 0/6] read-only bind mount prep work Dave Hansen
2006-08-09 16:57 ` [PATCH 1/6] prepare for write access checks: collapse if() Dave Hansen
2006-08-09 17:09 ` Christoph Hellwig
2006-08-09 17:18 ` Dave Hansen
2006-08-09 16:57 ` [PATCH 2/6] r/o bind mount prepwork: move open_namei()'s vfs_create() Dave Hansen
2006-08-09 17:09 ` Christoph Hellwig
2006-08-09 16:57 ` [PATCH 3/6] unlink: monitor i_nlink Dave Hansen
2006-08-09 17:11 ` Christoph Hellwig
2006-08-09 17:17 ` Dave Hansen
2006-08-09 18:27 ` Andrew Morton [this message]
2006-08-12 14:15 ` Arnd Bergmann
2006-08-09 16:57 ` [PATCH 4/6] r/o bind mount prepwork: inc_nlink() helper Dave Hansen
2006-08-09 17:11 ` Christoph Hellwig
2006-08-09 16:57 ` [PATCH 5/6] clean up OCFS2 nlink handling Dave Hansen
2006-08-09 17:12 ` Christoph Hellwig
2006-08-09 19:15 ` Dave Hansen
2006-08-10 8:07 ` Steven Whitehouse
2006-08-10 19:06 ` Dave Hansen
2006-08-11 9:38 ` Steven Whitehouse
2006-08-09 16:57 ` [PATCH 6/6] monitor zeroing of i_nlink Dave Hansen
2006-08-09 17:14 ` Christoph Hellwig
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=20060809112740.a964e5a2.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=haveblue@us.ibm.com \
--cc=hch@infradead.org \
--cc=linux-kernel@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