On 8/25/21 9:06 PM, Chris Dunlop wrote:
Hi, As reported by Charles Hathaway here (with no resolution): XFS fallocate implementation incorrectly reports ENOSPC https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1791323 Given this sequence: fallocate -l 1GB image.img mkfs.xfs -f image.img mkdir mnt mount -o loop ./image.img mnt fallocate -o 0 -l 700mb mnt/image.img fallocate -o 0 -l 700mb mnt/image.img Why does the second fallocate fail with ENOSPC, and is that considered an XFS bug?
Interesting. Off the top of my head, I assume that xfs is not looking at current file space usage when deciding how much is needed to satisfy the fallocate request. While filesystems can return ENOSPC at any time for any reason, this does seem a bit suboptimal.
Ext4 is happy to do the second fallocate without error. Tested on linux-5.10.60 Background: I'm chasing a mysterious ENOSPC error on an XFS filesystem with way more space than the app should be asking for. There are no quotas on the fs. Unfortunately it's a third party app and I can't tell what sequence is producing the error, but this fallocate issue is a possibility.
Presumably you've tried stracing it and looking for ENOSPC returns from syscalls? -Eric