From: Willy Tarreau <w@1wt.eu>
To: Grant Coady <gcoady.lk@gmail.com>
Cc: Marcelo Tosatti <marcelo@kvack.org>,
linux-kernel@vger.kernel.org,
Trond Myklebust <trond.myklebust@fys.uio.no>
Subject: Re: Linux 2.4.33-rc2
Date: Wed, 5 Jul 2006 07:18:29 +0200 [thread overview]
Message-ID: <20060705051829.GA23186@1wt.eu> (raw)
In-Reply-To: <0e6ma2961ro2evtrnacgmla7j52j738q76@4ax.com>
Hi Grant,
On Wed, Jul 05, 2006 at 11:51:35AM +1000, Grant Coady wrote:
> On Tue, 4 Jul 2006 00:07:36 +0200, Willy Tarreau <w@1wt.eu> wrote:
(...)
> >What I notice is that in 2.4.32, d_delete(dentry) was performed
> >between down(&dir->i_zombie) and up(&dir->i_zombie), while now
> >it's completely outside. I wonder if this can cause race conditions
> >or not, but at least, I'm sure that we have changed the locking
> >sequence, which might have some impact.
> >
> >Do you think I'm searching in the wrong direction ? I worry a
> >bit, because getting a deadlock after only one day, it's a bit
> >early :-/
> >
> Assuming you mean something like the patch below? Doesn't cause any
> problems (yet, still testing) like eat files or segfault here as
> reported for -rc1 +/- various patches ;)
yes, exactly this. I don't know if it's correct and/or needed. In 2.6,
the d_delete() is performed outside the lock. I'd like someone's advise
on this one. Also, I'll look for an NFS client stress test to try to
reproduce the problem, because I don't like it when problems like this
only appear once a day. And playing with the VFS does not make me happy
at all.
> Cheers,
> Grant.
Cheers,
Willy
> --- linux-2.4.33-rc2/fs/namei.c 2006-06-22 07:27:47.000000000 +1000
> +++ linux-2.4.33-rc2b/fs/namei.c 2006-07-05 11:43:19.000000000 +1000
> @@ -1497,13 +1497,14 @@
> lock_kernel();
> error = dir->i_op->unlink(dir, dentry);
> unlock_kernel();
> + if (!error)
> + d_delete(dentry);
> }
> }
> double_up(&dir->i_zombie, &inode->i_zombie);
> iput(inode);
>
> if (!error) {
> - d_delete(dentry);
> inode_dir_notify(dir, DN_DELETE);
> }
> return error;
next prev parent reply other threads:[~2006-07-05 5:18 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-21 19:27 Linux 2.4.33-rc2 Marcelo Tosatti
2006-06-21 23:35 ` Grant Coady
2006-07-03 22:07 ` Willy Tarreau
2006-07-05 1:51 ` Grant Coady
2006-07-05 5:18 ` Willy Tarreau [this message]
2006-07-05 20:51 ` Willy Tarreau
2006-07-06 7:42 ` Grant Coady
2006-07-06 8:25 ` Willy Tarreau
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=20060705051829.GA23186@1wt.eu \
--to=w@1wt.eu \
--cc=gcoady.lk@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=marcelo@kvack.org \
--cc=trond.myklebust@fys.uio.no \
/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