xfs fill_fs test in fallocate06 from ubuntu_ltp_syscalls failed

Bug #1865967 reported by Po-Hsu Lin on 2020-03-04
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubuntu-kernel-tests
Undecided
Po-Hsu Lin
linux (Ubuntu)
Undecided
Unassigned
Xenial
Undecided
Unassigned
Bionic
Undecided
Unassigned
Disco
Undecided
Unassigned
Eoan
Undecided
Unassigned

Bug Description

== SRU Justification ==
The fill_fs test for XFS in fallocate06 from ubuntu_ltp_syscalls will fail on X/B/D/E:
tst_test.c:1290: INFO: Testing on xfs
tst_mkfs.c:90: INFO: Formatting /dev/loop1 with xfs opts='' extra opts=''
tst_test.c:1229: INFO: Timeout per run is 0h 05m 00s
fallocate06.c:117: INFO: Copy-on-write is not supported
fallocate06.c:168: INFO: Case 1. Fill FS: no; Use copy on write: no
fallocate06.c:157: PASS: write() successful
fallocate06.c:201: PASS: Misaligned allocation works as expected
fallocate06.c:157: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) successful
fallocate06.c:237: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) cleared the correct file range
fallocate06.c:168: INFO: Case 2. Fill FS: yes; Use copy on write: no
tst_fill_fs.c:32: INFO: Creating file mntpoint/file0 size 21710183
tst_fill_fs.c:32: INFO: Creating file mntpoint/file1 size 8070086
tst_fill_fs.c:32: INFO: Creating file mntpoint/file2 size 3971177
tst_fill_fs.c:32: INFO: Creating file mntpoint/file3 size 36915315
tst_fill_fs.c:32: INFO: Creating file mntpoint/file4 size 70310993
tst_fill_fs.c:32: INFO: Creating file mntpoint/file5 size 4807935
tst_fill_fs.c:32: INFO: Creating file mntpoint/file6 size 90739786
tst_fill_fs.c:32: INFO: Creating file mntpoint/file7 size 76896492
tst_fill_fs.c:32: INFO: Creating file mntpoint/file8 size 72228649
tst_fill_fs.c:32: INFO: Creating file mntpoint/file9 size 36207821
tst_fill_fs.c:32: INFO: Creating file mntpoint/file10 size 81483962
tst_fill_fs.c:32: INFO: Creating file mntpoint/file11 size 92198827
tst_fill_fs.c:59: INFO: write(): ENOSPC (28)
fallocate06.c:153: FAIL: Unexpected return value from write(): 7680 (expected 8192)
fallocate06.c:157: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) successful
fallocate06.c:237: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) cleared the correct file range

== Fix ==
* e093c4be (xfs: Fix tail rounding in xfs_alloc_file_space())

This patch can be cherry-picked in D/E and needs some minor context adjustmest on X/B.

== Test ==
Test kernels can be found here:
https://people.canonical.com/~phlin/kernel/lp-1865967-xfs-fallocate06/

All patched kernels are working as expected, this issue will no longer
exist on XFS:
tst_test.c:1290: INFO: Testing on xfs
tst_mkfs.c:90: INFO: Formatting /dev/loop5 with xfs opts='' extra opts=''
tst_test.c:1229: INFO: Timeout per run is 0h 05m 00s
fallocate06.c:117: INFO: Copy-on-write is not supported
fallocate06.c:168: INFO: Case 1. Fill FS: no; Use copy on write: no
fallocate06.c:157: PASS: write() successful
fallocate06.c:201: PASS: Misaligned allocation works as expected
fallocate06.c:157: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) successful
fallocate06.c:237: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) cleared the correct file range
fallocate06.c:168: INFO: Case 2. Fill FS: yes; Use copy on write: no
tst_fill_fs.c:32: INFO: Creating file mntpoint/file0 size 21710183
tst_fill_fs.c:32: INFO: Creating file mntpoint/file1 size 8070086
tst_fill_fs.c:32: INFO: Creating file mntpoint/file2 size 3971177
tst_fill_fs.c:32: INFO: Creating file mntpoint/file3 size 36915315
tst_fill_fs.c:32: INFO: Creating file mntpoint/file4 size 70310993
tst_fill_fs.c:32: INFO: Creating file mntpoint/file5 size 4807935
tst_fill_fs.c:32: INFO: Creating file mntpoint/file6 size 90739786
tst_fill_fs.c:32: INFO: Creating file mntpoint/file7 size 76896492
tst_fill_fs.c:32: INFO: Creating file mntpoint/file8 size 72228649
tst_fill_fs.c:32: INFO: Creating file mntpoint/file9 size 36207821
tst_fill_fs.c:32: INFO: Creating file mntpoint/file10 size 81483962
tst_fill_fs.c:32: INFO: Creating file mntpoint/file11 size 92198827
tst_fill_fs.c:59: INFO: write(): ENOSPC (28)
fallocate06.c:157: PASS: write() successful
fallocate06.c:201: PASS: Misaligned allocation works as expected
fallocate06.c:157: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) successful
fallocate06.c:237: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) cleared the correct file range

== Regression Potential ==
Low, this ensures all the blocks are properly allocated and it's only affecting the allocation on XFS.

== Original Bug Report ==
Test failure in fallocate06 was composed by two issues, one is btrfs fill_fs test issue addressed in bug 1866323.

Another is this one, this is the case 2 of xfs (fill_fs):
tst_test.c:1290: INFO: Testing on xfs
tst_mkfs.c:90: INFO: Formatting /dev/loop1 with xfs opts='' extra opts=''
tst_test.c:1229: INFO: Timeout per run is 0h 05m 00s
fallocate06.c:117: INFO: Copy-on-write is not supported
fallocate06.c:168: INFO: Case 1. Fill FS: no; Use copy on write: no
fallocate06.c:157: PASS: write() successful
fallocate06.c:201: PASS: Misaligned allocation works as expected
fallocate06.c:157: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) successful
fallocate06.c:237: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) cleared the correct file range
fallocate06.c:168: INFO: Case 2. Fill FS: yes; Use copy on write: no
tst_fill_fs.c:32: INFO: Creating file mntpoint/file0 size 21710183
tst_fill_fs.c:32: INFO: Creating file mntpoint/file1 size 8070086
tst_fill_fs.c:32: INFO: Creating file mntpoint/file2 size 3971177
tst_fill_fs.c:32: INFO: Creating file mntpoint/file3 size 36915315
tst_fill_fs.c:32: INFO: Creating file mntpoint/file4 size 70310993
tst_fill_fs.c:32: INFO: Creating file mntpoint/file5 size 4807935
tst_fill_fs.c:32: INFO: Creating file mntpoint/file6 size 90739786
tst_fill_fs.c:32: INFO: Creating file mntpoint/file7 size 76896492
tst_fill_fs.c:32: INFO: Creating file mntpoint/file8 size 72228649
tst_fill_fs.c:32: INFO: Creating file mntpoint/file9 size 36207821
tst_fill_fs.c:32: INFO: Creating file mntpoint/file10 size 81483962
tst_fill_fs.c:32: INFO: Creating file mntpoint/file11 size 92198827
tst_fill_fs.c:59: INFO: write(): ENOSPC (28)
fallocate06.c:153: FAIL: Unexpected return value from write(): 7680 (expected 8192)
fallocate06.c:157: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) successful
fallocate06.c:237: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) cleared the correct file range

This test failures can be found from X to E
X - 2 failures reported:
fallocate06.c:153: FAIL: Unexpected return value from write(): 7680 (expected 8192)
fallocate06.c:146: FAIL: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) failed unexpectedly: ENOSPC (28)

Test terminates with:
tst_test.c:1274: BROK: Test killed by SIGIOT/SIGABRT!

https://pastebin.ubuntu.com/p/9FfVrZkQN8/

B - 2 failures reported:
fallocate06.c:153: FAIL: Unexpected return value from write(): 7680 (expected 8192)
fallocate06.c:146: FAIL: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) failed unexpectedly: ENOSPC (28)

Test terminates with:
tst_test.c:1274: BROK: Test killed by SIGIOT/SIGABRT!

https://pastebin.ubuntu.com/p/Zc9TW4sQKF/

D - 2 failures reported:
fallocate06.c:153: FAIL: Unexpected return value from write(): 7680 (expected 8192)
fallocate06.c:146: FAIL: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) failed unexpectedly: ENOSPC (28)

Test terminates with:
tst_test.c:1274: BROK: Test killed by SIGIOT/SIGABRT!

https://pastebin.ubuntu.com/p/cryTnnn5wF/

E - 2 failures reported:
fallocate06.c:151: FAIL: Unexpected return value from write(): 7680 (expected 8192)
fallocate06.c:146: FAIL: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) failed unexpectedly: ENOSPC (28)

Test terminates with:
tst_test.c:1274: BROK: Test killed by SIGIOT/SIGABRT!

https://pastebin.ubuntu.com/p/FXTZpsX7Qb/

Po-Hsu Lin (cypressyew) on 2020-03-04
tags: added: 4.15 gcp ubuntu-ltp-syscalls xenial
Po-Hsu Lin (cypressyew) on 2020-03-04
summary: - fallocate06 from ubuntu_ltp_syscalls failed on X-GCP-4.15
+ fallocate06 from ubuntu_ltp_syscalls failed

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1865967

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Changed in linux (Ubuntu Bionic):
status: New → Incomplete
Changed in linux (Ubuntu Eoan):
status: New → Incomplete
Po-Hsu Lin (cypressyew) on 2020-03-04
Changed in ubuntu-kernel-tests:
assignee: nobody → Po-Hsu Lin (cypressyew)
status: New → In Progress
Changed in linux (Ubuntu Bionic):
status: Incomplete → Confirmed
Changed in linux (Ubuntu Disco):
status: New → Confirmed
Changed in linux (Ubuntu Eoan):
status: Incomplete → Confirmed
tags: added: 5.0 5.3
tags: added: bionic disco eoan
Po-Hsu Lin (cypressyew) on 2020-03-04
Changed in linux (Ubuntu Xenial):
status: New → Confirmed

This is a new test case added 7 days ago into LTP, not a regression.

Po-Hsu Lin (cypressyew) on 2020-03-04
description: updated
Po-Hsu Lin (cypressyew) on 2020-03-04
tags: added: kqa-blocker
Po-Hsu Lin (cypressyew) on 2020-03-04
Changed in linux (Ubuntu Xenial):
status: Confirmed → In Progress
Changed in linux (Ubuntu Bionic):
status: Confirmed → In Progress
Changed in linux (Ubuntu Disco):
status: Confirmed → In Progress
Changed in linux (Ubuntu Eoan):
status: Confirmed → In Progress
Po-Hsu Lin (cypressyew) on 2020-03-06
summary: - fallocate06 from ubuntu_ltp_syscalls failed
+ xfs fill_fs test in fallocate06 from ubuntu_ltp_syscalls failed
Po-Hsu Lin (cypressyew) on 2020-03-06
description: updated
Changed in linux (Ubuntu):
status: Incomplete → Fix Released
Po-Hsu Lin (cypressyew) on 2020-03-09
description: updated
Sean Feole (sfeole) wrote :

This failure is test related and not a regression in the kernel, removing the kqa-blocker tag.

tags: removed: kqa-blocker
Changed in linux (Ubuntu Xenial):
status: In Progress → Fix Committed
Changed in linux (Ubuntu Bionic):
status: In Progress → Fix Committed
Changed in linux (Ubuntu Disco):
status: In Progress → Fix Committed
Changed in linux (Ubuntu Eoan):
status: In Progress → Fix Committed

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-xenial' to 'verification-done-xenial'. If the problem still exists, change the tag 'verification-needed-xenial' to 'verification-failed-xenial'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-xenial

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-bionic' to 'verification-done-bionic'. If the problem still exists, change the tag 'verification-needed-bionic' to 'verification-failed-bionic'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-bionic

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-eoan' to 'verification-done-eoan'. If the problem still exists, change the tag 'verification-needed-eoan' to 'verification-failed-eoan'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-eoan
Po-Hsu Lin (cypressyew) wrote :

Passed on xenial
 tst_test.c:1290: INFO: Testing on xfs
 tst_mkfs.c:90: INFO: Formatting /dev/loop1 with xfs opts='' extra opts=''
 tst_test.c:1229: INFO: Timeout per run is 0h 05m 00s
 fallocate06.c:117: INFO: Copy-on-write is not supported
 fallocate06.c:168: INFO: Case 1. Fill FS: no; Use copy on write: no
 fallocate06.c:157: PASS: write() successful
 fallocate06.c:201: PASS: Misaligned allocation works as expected
 fallocate06.c:157: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) successful
 fallocate06.c:237: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) cleared the correct file range
 fallocate06.c:168: INFO: Case 2. Fill FS: yes; Use copy on write: no
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file0 size 21710183
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file1 size 8070086
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file2 size 3971177
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file3 size 36915315
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file4 size 70310993
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file5 size 4807935
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file6 size 90739786
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file7 size 76896492
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file8 size 72228649
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file9 size 36207821
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file10 size 81483962
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file11 size 92198827
 tst_fill_fs.c:59: INFO: write(): ENOSPC (28)
 fallocate06.c:157: PASS: write() successful
 fallocate06.c:201: PASS: Misaligned allocation works as expected
 fallocate06.c:157: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) successful
 fallocate06.c:237: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) cleared the correct file range
 fallocate06.c:168: INFO: Case 3. Fill FS: no; Use copy on write: yes
 fallocate06.c:174: CONF: File system does not support copy-on-write

tags: added: verification-done-xenial
removed: verification-needed-xenial
Po-Hsu Lin (cypressyew) wrote :

Passed with Eoan 5.3.0-43.36-generic
 tst_test.c:1290: INFO: Testing on xfs
 tst_mkfs.c:89: INFO: Formatting /dev/loop3 with xfs opts='' extra opts=''
 tst_test.c:1227: INFO: Timeout per run is 0h 05m 00s
 fallocate06.c:116: INFO: Copy-on-write is not supported
 fallocate06.c:167: INFO: Case 1. Fill FS: no; Use copy on write: no
 fallocate06.c:157: PASS: write() successful
 fallocate06.c:201: PASS: Misaligned allocation works as expected
 fallocate06.c:157: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) successful
 fallocate06.c:237: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) cleared the correct file range
 fallocate06.c:167: INFO: Case 2. Fill FS: yes; Use copy on write: no
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file0 size 21710183
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file1 size 8070086
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file2 size 3971177
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file3 size 36915315
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file4 size 70310993
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file5 size 4807935
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file6 size 90739786
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file7 size 76896492
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file8 size 72228649
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file9 size 36207821
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file10 size 81483962
 tst_fill_fs.c:32: INFO: Creating file mntpoint/file11 size 92198827
 tst_fill_fs.c:59: INFO: write(): ENOSPC (28)
 fallocate06.c:157: PASS: write() successful
 fallocate06.c:201: PASS: Misaligned allocation works as expected
 fallocate06.c:157: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) successful
 fallocate06.c:237: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) cleared the correct file range
 fallocate06.c:167: INFO: Case 3. Fill FS: no; Use copy on write: yes
 fallocate06.c:174: CONF: File system does not support copy-on-write

tags: added: verification-done-eoan
removed: verification-needed-eoan
Po-Hsu Lin (cypressyew) wrote :

Passed with Bionic 4.15.0-94.95

tst_test.c:1290: INFO: Testing on xfs
tst_mkfs.c:90: INFO: Formatting /dev/loop1 with xfs opts='' extra opts=''
tst_test.c:1229: INFO: Timeout per run is 0h 05m 00s
fallocate06.c:117: INFO: Copy-on-write is not supported
fallocate06.c:168: INFO: Case 1. Fill FS: no; Use copy on write: no
fallocate06.c:157: PASS: write() successful
fallocate06.c:201: PASS: Misaligned allocation works as expected
fallocate06.c:157: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) successful
fallocate06.c:237: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) cleared the correct file range
fallocate06.c:168: INFO: Case 2. Fill FS: yes; Use copy on write: no
tst_fill_fs.c:32: INFO: Creating file mntpoint/file0 size 21710183
tst_fill_fs.c:32: INFO: Creating file mntpoint/file1 size 8070086
tst_fill_fs.c:32: INFO: Creating file mntpoint/file2 size 3971177
tst_fill_fs.c:32: INFO: Creating file mntpoint/file3 size 36915315
tst_fill_fs.c:32: INFO: Creating file mntpoint/file4 size 70310993
tst_fill_fs.c:32: INFO: Creating file mntpoint/file5 size 4807935
tst_fill_fs.c:32: INFO: Creating file mntpoint/file6 size 90739786
tst_fill_fs.c:32: INFO: Creating file mntpoint/file7 size 76896492
tst_fill_fs.c:32: INFO: Creating file mntpoint/file8 size 72228649
tst_fill_fs.c:32: INFO: Creating file mntpoint/file9 size 36207821
tst_fill_fs.c:32: INFO: Creating file mntpoint/file10 size 81483962
tst_fill_fs.c:32: INFO: Creating file mntpoint/file11 size 92198827
tst_fill_fs.c:59: INFO: write(): ENOSPC (28)
fallocate06.c:157: PASS: write() successful
fallocate06.c:201: PASS: Misaligned allocation works as expected
fallocate06.c:157: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) successful
fallocate06.c:237: PASS: fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE) cleared the correct file range
fallocate06.c:168: INFO: Case 3. Fill FS: no; Use copy on write: yes
fallocate06.c:174: CONF: File system does not support copy-on-write

tags: added: verification-done-bionic
removed: verification-needed-bionic
Po-Hsu Lin (cypressyew) on 2020-03-27
Changed in ubuntu-kernel-tests:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers