Re: [PATCH v4 0/6] btrfs: simple quotas fstests

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]





On 9/30/23 17:45, Anand Jain wrote:
On 29/09/2023 07:16, Boris Burkov wrote:
Add a new test for specific squota scenarios (btrfs/301)

Also made modifications for passing existing qgroups tests when possible
and for passing all tests with simple quota enabled via mkfs and with
squota-aware `btrfs check`. Since this required reading sysfs files of
scratch fses, did a bit of refactoring to make those checks target a
device rather than assuming TEST_DEV.

btrfs/301 depends on the kernel patchset:
https://lore.kernel.org/linux-btrfs/cover.1694563454.git.boris@xxxxxx/
and the btrfs-progs patchset:
https://lore.kernel.org/linux-btrfs/cover.1695836680.git.boris@xxxxxx/
(and config appropriate binaries to use squota-aware versions)
---
Changelog:
v4:
- fix rescan helper bug
- fix broken tab/spaces in squota helper
- cleanup comments
- improve test names, add some comments
- switch to remount commit=1 for forcing cleaner
- fix group list for 301
- use reflink helpers
- output errors to 301.out (and have expected ones there waiting)
- cleanup "/dev/ksmg" writes I missed when grepping for /dev/kmsg
- cleanup variable names
- proper fio/btrfs/xfs_io requires
- read nodesize from dump_super
- sync before dump_tree
- documented all calls to sync
v3:
- change btrfs/400 to btrfs/301
v2:
- new sysfs helpers in common
- better gating for the new squota test
- fix various formatting issues
- get rid of noisy dmesg logging


Boris Burkov (6):
   common: refactor sysfs_attr functions
   btrfs: quota mode helpers
   btrfs/301: new test for simple quotas
   btrfs: quota rescan helpers
   btrfs: use new rescan wrapper
   btrfs: skip squota incompatible tests

  common/btrfs        |  56 ++++++
  common/rc           | 127 ++++++++-----
  tests/btrfs/017     |   1 +
  tests/btrfs/022     |   1 +
  tests/btrfs/028     |   2 +-
  tests/btrfs/057     |   1 +
  tests/btrfs/091     |   3 +-
  tests/btrfs/104     |   2 +-
  tests/btrfs/123     |   2 +-
  tests/btrfs/126     |   2 +-
  tests/btrfs/139     |   2 +-
  tests/btrfs/153     |   2 +-
  tests/btrfs/171     |   6 +-
  tests/btrfs/179     |   2 +-
  tests/btrfs/180     |   2 +-
  tests/btrfs/190     |   2 +-
  tests/btrfs/193     |   2 +-
  tests/btrfs/210     |   2 +-
  tests/btrfs/224     |   6 +-
  tests/btrfs/230     |   2 +-
  tests/btrfs/232     |   2 +-
  tests/btrfs/301     | 435 ++++++++++++++++++++++++++++++++++++++++++++
  tests/btrfs/301.out |  18 ++
  23 files changed, 615 insertions(+), 65 deletions(-)
  create mode 100755 tests/btrfs/301
  create mode 100644 tests/btrfs/301.out


All test cases modified here run fine on a system with PAGESIZE=64K,
except for btrfs/153 with and without MKFS_OPTIONS="-O squota".
btrfs/153 is successful on kernel v5.15 (I haven't tried other kernels)

btrfs/153 2s ... - output mismatch (see /xfstests-dev/results//btrfs/153.out.bad)
     --- tests/btrfs/153.out    2021-07-13 08:07:54.096971521 -0400
    +++ /xfstests-dev/results//btrfs/153.out.bad    2023-09-30 05:33:53.560640258 -0400
     @@ -1,2 +1,3 @@
      QA output created by 153
     +pwrite: Disk quota exceeded
      Silence is golden
     ...
    (Run 'diff -u /xfstests-dev/tests/btrfs/153.out /xfstests-dev/results//btrfs/153.out.bad'  to see the entire diff)


The test case works with the standard 4k page size. It's already in
the Staged branch. Please send any required fix patches when they're
ready to be applied on top of this set.

Thanks, Anand



[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux