All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: chrisl@vmware.com
Cc: Ext2 devel <ext2-devel@lists.sourceforge.net>,
	Linux Kernel List <linux-kernel@vger.kernel.org>
Subject: Re: [Ext2-devel] bug in ext3 htree rename: doesn't delete old name, leaves ino with bad nlink
Date: 05 Nov 2002 21:02:29 -0800	[thread overview]
Message-ID: <1036558949.28257.9.camel@ixodes.goop.org> (raw)
In-Reply-To: <20021105212415.GB1472@vmware.com>

On Tue, 2002-11-05 at 13:24, chrisl@vmware.com wrote:
> Thanks again for the nice bug report.

Thanks for looking at it so quickly.  I want ext3+htree to stabilise as
quickly as possible, and since I had a nice reproducible bug, I may as
well make the most of it.

> I think I understand the problem now. What happen was, in ext3_rename,
> it will first add the new entry to directory and then remove the
> old entry. In this case, when add a new entry to the directory
> cause a leaf node split. And the old entry is in the very same
> leaf node. After split, the old entry have been move to another
> leaf node. But ext3_rename still holding the old pointer and bh
> to the old leaf node.

Yes, I would have guessed that it was related to a tree split.  The
interesting thing to me is that it happened twice in this particular
run, and yet it must be a fairly uncommon occurrence overall (otherwise
it would have been reported before).  I wonder if it really is a rare
event, or it has just gone unnoticed?

> This also raise an interesting question, after split leave node,
> do we need to update the dentry cache for the change?

Update it in what way?  In principle a rename is an atomic operation, so
other things shouldn't be able to observe the directory in an
intermediate state.

	J



  reply	other threads:[~2002-11-06  4:55 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-11-05  4:47 bug in ext3 htree rename: doesn't delete old name, leaves ino with bad nlink Jeremy Fitzhardinge
2002-11-05 21:24 ` [Ext2-devel] " chrisl
2002-11-06  5:02   ` Jeremy Fitzhardinge [this message]
2002-11-06  8:25   ` [PATCH] Fix " chrisl
2002-11-06  8:44     ` Andrew Morton
2002-11-06 21:40     ` Theodore Ts'o
2002-11-07  1:24       ` Christopher Li
2002-11-06 22:41         ` Theodore Ts'o
2002-11-06 22:47           ` Alexander Viro
2002-11-07  2:44             ` Theodore Ts'o
2002-11-07  1:58           ` Christopher Li
2002-11-06 23:27         ` [Ext2-devel] " 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=1036558949.28257.9.camel@ixodes.goop.org \
    --to=jeremy@goop.org \
    --cc=chrisl@vmware.com \
    --cc=ext2-devel@lists.sourceforge.net \
    --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 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.