maxpct option for small xfs filesystems
Alexander Tsvetkov
alexander.tsvetkov at oracle.com
Mon Jan 26 10:14:43 CST 2015
Hello,
I'm trying to understand the expected behaviour of "maxpct" option in
case of small xfs filesystem
comparing the maximum percentage defined for this option with the
percentage of actually allocated
inodes in filesystem, but the result of prepared test case doesn't
correspond to the expectations:
[root at fedora ~]#mkfs.xfs -f -d size=16m -i maxpct=1 /dev/sdb2
[root at fedora ~]# mount /dev/sdb2 /mnt/scratch/
[root at fedora ~]# mount | grep scratch
/dev/sdb2 on /mnt/scratch type xfs
(rw,relatime,seclabel,attr2,inode64,noquota)
[root at fedora ~]# xfs_info /mnt/scratch/
meta-data=/dev/sdb2 isize=256 agcount=1, agsize=4096 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=4096, imaxpct=1
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=853, version=2
= sectsz=512 sunit=0 blks,
lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
then trying to fill filesystem with lot of empty files until enospc
obtained and break the loop:
[root at fedora ~]# for i in {0..100000}; do str=$(mktemp
--tmpdir=/mnt/scratch tmp.XXXXXXXXXX); echo $str; done
filesystem is full with created files:
[root at fedora ~]# df -Th | grep scratch
/dev/sdb2 xfs 13M 13M 148K 99% /mnt/scratch
and from the number of actually created inodes:
[root at fedora ~]# xfs_db -c "blockget -n" -c "ncheck" /dev/sdb2 | wc -l
40512
it's calculated the space allocated for file inodes 9.9Mb (40512*256b
inode size) that is about 77% of filesystem
space instead of defined maximum with maxpct=1% or even default 25% value.
Thanks,
Alexander Tsvetkov
More information about the xfs
mailing list