On Mon, 18 Feb 2008, David Chinner wrote:
> Is this reproducable with simple tests? e.g. mkfs, mount, unmount
> check? or doing some simple things like creating some files
mkfs, mount, xfsrestore, umount is 100% reproducable. I restored 5 different
filesystems, some of them several times.
Other tests (all show bug on first try):
# /root/mkfs.xfs -f /dev/loop0
meta-data=/dev/loop0 isize=256 agcount=4, agsize=64000 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=256000, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096
log =internal log bsize=4096 blocks=1200, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# mount /dev/loop0 /mnt/usb
# cp -a /mnt/mnt/xfs/xfs-cmds /mnt/usb (xfs-cmds is CVS repository)
# umount /mnt/usb
# xfs_check /dev/loop0
sb_fdblocks 248626, counted 249650
# /root/mkfs.xfs -f /dev/loop0
meta-data=/dev/loop0 isize=256 agcount=4, agsize=64000 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=256000, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096
log =internal log bsize=4096 blocks=1200, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# mount /dev/loop0 /mnt/usb
# cd /mnt/usb
# foreach i ( `seq 1 100` )
foreach? echo 123456789 > $i
foreach? end
# cd
# umount /mnt/usb
# xfs_check /dev/loop0
sb_fdblocks 253651, counted 254675
(added removing files)
# /root/mkfs.xfs -f /dev/loop0
meta-data=/dev/loop0 isize=256 agcount=4, agsize=64000 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=256000, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096
log =internal log bsize=4096 blocks=1200, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# mount /dev/loop0 /mnt/usb
# cd /mnt/usb
# foreach i ( `seq 1 100` )
foreach? echo 123456789 > $i
foreach? end
# foreach i ( `seq 1 2 100` )
foreach? rm -f $i
foreach? end
# cd
# umount /mnt/usb
# xfs_check /dev/loop0
sb_fdblocks 253701, counted 254725
(test if mount fixes fdblocks information)
# mount /dev/loop0 /mnt/usb
# umount /mnt/usb
# xfs_check /dev/loop0
sb_fdblocks 252677, counted 254725
# mount /dev/loop0 /mnt/usb
# umount /mnt/usb
# xfs_check /dev/loop0
sb_fdblocks 251653, counted 254725
# mount /dev/loop0 /mnt/usb
# umount /mnt/usb
# xfs_check /dev/loop0
sb_fdblocks 250629, counted 254725
mount, umount sequence changes sb_fdblocks without any activity on filesystem,
after every run is sb_fdblocks different (less than previous) but not correct.
# mount -V
mount (util-linux-ng 2.13-rc2)
fdblocks on fresh mkfs-ed filesystem is:
fdblocks = 254780
Should I do any specific test?
> with dd and rm'ing a subset of the files before unmounting?
> I've run some simple tests this morning that do this, and I
> don't see any issues. I'd like to confirm that simple cases
Did you use x86_64 and latest CVS kernel?
Cheers,
jan
--
|