One of the XFS filesystems at work almost ran out of space recently, so I extended the Logical Volume it was on, followed by xfs_growfs
. This worked fine, df -h
showed enough free space for the upcoming data. In the XFS FAQ I read that by default all inodes are placed in the first 1 TB of disk, which could lead to problem. Therefore, I added the inode64
option to the mount options and ran
mount -o remount
on the partition.
While reviewing my log messages this morning I noticed a lot of
No space left on device
messages for that filesystem. Having this inode64
option in mind I wondered what went wrong. Although df -h
and df -i
showed enough free space and free inodes, respectively, I still couldn’t create a file. Again the XFS FAQ had an entry for that, but it puzzled me, because I was already using the inode64
option. Since the filesystem wasn’t in use I decided to completely unmount it and then mount it again. That worked. Apparently -o remount
is not enough to enable the inode64
option.
Bugs are better than blogs 😉 Did you report this to the list or the appropriate bugzilla?
Had you done an xfs_growfs before this? You might have run into a bug introduced in v3.7, fixed recently by:
[PATCH 1/2] xfs: allow inode allocations in post-growfs disk space