From: Jeff Layton <jlayton@redhat.com>
To: "Myklebust, Trond" <Trond.Myklebust@netapp.com>
Cc: Al Viro <viro@ZenIV.linux.org.uk>,
Ricky Ng-Adam <rngadam@lophilo.com>,
"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
"neilb@suse.de" <neilb@suse.de>
Subject: Re: WARNING: at linux/fs/inode.c:280 drop_nlink
Date: Fri, 14 Dec 2012 07:51:38 -0500 [thread overview]
Message-ID: <20121214075138.7ab828da@tlielax.poochiereds.net> (raw)
In-Reply-To: <4FA345DA4F4AE44899BD2B03EEEC2FA91192D34B@SACEXCMBX04-PRD.hq.netapp.com>
On Fri, 14 Dec 2012 03:22:20 +0000
"Myklebust, Trond" <Trond.Myklebust@netapp.com> wrote:
> On Thu, 2012-12-13 at 22:06 -0500, Jeff Layton wrote:
> > On Thu, 13 Dec 2012 21:22:26 +0000
> > "Myklebust, Trond" <Trond.Myklebust@netapp.com> wrote:
> >
> > > On Thu, 2012-12-13 at 21:07 +0000, Al Viro wrote:
> > > > On Thu, Dec 13, 2012 at 02:45:18PM +0000, Myklebust, Trond wrote:
> > > >
> > > > > You mean aside from the fact that sb->s_remove_count remains a racy
> > > > > piece of crap that serves no good purpose for NFS, and yet will continue
> > > > > to give us grief?
> > > >
> > > > As opposed to scanning the list of opened files?
> > >
> > > For what information? sb->s_remove_count tells you nothing new about the
> > > state of the NFS filesystem.
> > >
> > > This whole "check for nlink == 0" thing is at best a heuristic, since
> > > the file may persist or disappear on the server independently of
> > > whatever we may think about the value of inode->i_nlink. Setting sirens
> > > to blare and angels to sing when we get it wrong (as we often do) is
> > > just pointless...
> > >
> >
> > So...why do drop_nlink at all in NFS (or other similar filesystems like
> > CIFS)? In principle, it seems like we ought to just mark the attribute
> > cache invalid and assume that we'll pick up the nlink change when we
> > next attempt to revalidate the inode.
> >
> > On that next attempt, we might find it stale, but that's something we
> > already have to deal with.
>
> At this point, I don't care. My argument is that I haven't seen a SINGLE
> instance where this warning has led to the discovery of a positive case.
> Every single stack dump that I've seen so far has been a false negative,
> which, as far as I'm concerned, should be considered a regression.
>
> Forgive me for being pissed off...
>
I can understand that. We are getting TONS of these reports in Fedora.
Just yesterday Nick Bowler re-reported it on the linux-nfs ml. I
wouldn't mind seeing these warnings go away, or at least have some
mechanism for filesystems to opt out of them.
OTOH, there is at least a minor problem here with letting i_nlink
underflow. When we finally get around to iput_final, generic_drop_inode
is going to return false and we're going to end up with the inode
lingering in the cache longer than it really should. Presumably memory
pressure will eventually push it out, but it would be better not to
have to wait for that.
I'll also note that we call nfs_drop_nlink to decrement i_nlink
everywhere else aside from this call site. What makes nfs_dentry_iput
special in this regard?
--
Jeff Layton <jlayton@redhat.com>
next prev parent reply other threads:[~2012-12-14 12:52 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-27 12:19 WARNING: at linux/fs/inode.c:280 drop_nlink Ricky Ng-Adam
2012-11-12 14:52 ` Jeff Layton
2012-12-13 11:31 ` Jeff Layton
2012-12-13 14:45 ` Myklebust, Trond
2012-12-13 21:07 ` Al Viro
2012-12-13 21:22 ` Myklebust, Trond
2012-12-14 3:06 ` Jeff Layton
2012-12-14 3:22 ` Myklebust, Trond
2012-12-14 12:51 ` Jeff Layton [this message]
2012-12-14 18:22 ` Myklebust, Trond
2012-12-17 13:08 ` Jeff Layton
2012-12-17 15:14 ` Myklebust, Trond
2012-12-17 15:23 ` Jeff Layton
2012-12-14 21:53 ` [PATCH 1/2] NFS: Ensure that we always drop inodes that have been marked as stale Trond Myklebust
2012-12-14 21:53 ` [PATCH 2/2] NFS: Fix calls to drop_nlink() Trond Myklebust
2012-12-17 12:47 ` [PATCH 1/2] NFS: Ensure that we always drop inodes that have been marked as stale Jeff Layton
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=20121214075138.7ab828da@tlielax.poochiereds.net \
--to=jlayton@redhat.com \
--cc=Trond.Myklebust@netapp.com \
--cc=linux-nfs@vger.kernel.org \
--cc=neilb@suse.de \
--cc=rngadam@lophilo.com \
--cc=viro@ZenIV.linux.org.uk \
/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).