Public bug reported:

When given an offset of 0 and a length, fallocate (man 2 fallocate)
reports ENOSPC if the size of the file + the length to be allocated is
greater than the available space.

Example below using the fallocate command (man 1 fallocate) for
simplicity; the issue is with the logic backing the system call.

chathaway@bender:~/temp$ fallocate -l 1GB example.img
chathaway@bender:~/temp$ mkfs.xfs example.img 
meta-data=example.img            isize=512    agcount=4, agsize=61035 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=0, rmapbt=0, 
reflink=0
data     =                       bsize=4096   blocks=244140, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
chathaway@bender:~/temp$ sudo modprobe loop
chathaway@bender:~/temp$ mkdir mnt
chathaway@bender:~/temp$ sudo mount -o loop ./example.img ./mnt/
chathaway@bender:~/temp$ cd mnt
chathaway@bender:~/temp/mnt$ sudo fallocate -l 768MB -o 0 hello.txt
chathaway@bender:~/temp/mnt$ sudo fallocate -l 768MB -o 0 hello.txt
fallocate: fallocate failed: No space left on device
chathaway@bender:~/temp/mnt$ df -h .
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop0      951M  766M  185M  81% /home/chathaway/temp/mnt

Expected behaviour: because we allocate 768MB starting at offset 0, and
have 951MB on the disk, we would expect that the allocation should be
fine. Other filesystem behave this way (for example, ext4).

Thanks!

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: xfs

** Attachment added: "attachments.tar.gz"
   
https://bugs.launchpad.net/bugs/1791323/+attachment/5186057/+files/attachments.tar.gz

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1791323

Title:
  XFS fallocate implementation incorrectly reports ENOSPC

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1791323/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to