On Mon, Feb 18, 2008 at 01:07:04PM +1100, David Chinner wrote:
> It is clear that it is dropping by 1024 blocks per mount/unmount
> sequence. That sounds like the reserved space for transactions at
> ENOSPC not being put back in before the superblock is finally
> written to disk on unmount. The reserved space defaults to 1024
> blocks. Does your kernel tree have this code
> in it in xfs_unmountfs():
Yes. I have the same code in xfs_mount.c.
In CVS/Entry I have
/xfs_mount.c/1.417/Tue Feb 5 07:16:21 2008/-ko/
> FWIW, i wonder if it has something to do with your /dev/loop0
> setup. How have you set this up? Using a raw file and using
> it for mkfs/mount/unmount/check does not show the problem:
No, I restored filesystems on real partition (device mapper) with the same
result.
> If you run your test on a similar setup, do you see the problem
> still?
Yes.
# losetup -d /dev/loop0
# /root/mkfs.xfs -f -d name=test
meta-data=test 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
# xfs_check -f ./test
# mount -o loop test /mnt/usb
# umount /mnt/usb
# xfs_check -f ./test
sb_fdblocks 253756, counted 254780
Cheers,
jan
|