Thread (15 messages) 15 messages, 4 authors, 2021-09-17

Re: XFS fallocate implementation incorrectly reports ENOSPC

From: Eric Sandeen <hidden>
Date: 2021-08-26 15:05:04


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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help