From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Ext2 devel <ext2-devel@lists.sourceforge.net>
Cc: Linux Kernel List <linux-kernel@vger.kernel.org>
Subject: bug in ext3 htree rename: doesn't delete old name, leaves ino with bad nlink
Date: 04 Nov 2002 20:47:50 -0800 [thread overview]
Message-ID: <1036471670.21855.15.camel@ixodes.goop.org> (raw)
I've isolated the problem to rename not removing the old name under some
circumstances, leaving two names for a file with an nlink of 1. This
will reliably reproduce the problem for me, under 2.4.19-ac4 and 2.4.19
(stock) w/ patch-ext3-dxdir-2.4.19-4.
Generate a new filesystem: this will create htree-bug.fs
$ sh genfs
# mkdir m
# mount -o loop htree-bug.fs m
$ gcc -o tickle tickle.c
$ ./tickle m/test
*** rename("drivers/scsi/psi240i.h", "drivers/scsi/psi240i.h.orig") failure:
stating drivers/scsi/psi240i.h
ino=294
nlink=1
stating drivers/scsi/psi240i.h.orig
ino=294
nlink=1
*** rename("drivers/scsi/sun3_scsi.h", "drivers/scsi/sun3_scsi.h.orig") failure:
stating drivers/scsi/sun3_scsi.h
ino=350
nlink=1
stating drivers/scsi/sun3_scsi.h.orig
ino=350
nlink=1
# umount m
$ e2fsck -f htree-bug.fs
e2fsck 1.30-WIP (30-Sep-2002)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Inode 294 ref count is 1, should be 2. Fix<y>? yes
Inode 350 ref count is 1, should be 2. Fix<y>? yes
Pass 5: Checking group summary information
htree-bug.fs: ***** FILE SYSTEM WAS MODIFIED *****
htree-bug.fs: 541/10240 files (0.2% non-contiguous), 1369/10240 blocks
exit status 1
$ debugfs htree-bug.fs
debugfs 1.30-WIP (30-Sep-2002)
debugfs: ncheck 294
Inode Pathname
294 /test/drivers/scsi/psi240i.h
debugfs: ncheck 350
Inode Pathname
350 /test/drivers/scsi/sun3_scsi.h
I've put all the bits needed to reproduce the bug (genfs, tickle) at
http://www.goop.org/~jeremy/htree/
J
next reply other threads:[~2002-11-05 4:41 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-11-05 4:47 Jeremy Fitzhardinge [this message]
2002-11-05 21:24 ` [Ext2-devel] bug in ext3 htree rename: doesn't delete old name, leaves ino with bad nlink chrisl
2002-11-06 5:02 ` Jeremy Fitzhardinge
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=1036471670.21855.15.camel@ixodes.goop.org \
--to=jeremy@goop.org \
--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.