All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2 v2] btrfs-progs: tests: fix no acl support
@ 2023-06-22  8:18 Anand Jain
  2023-06-22  8:18 ` [PATCH 1/2 v2] btrfs-progs: tests: add helper check_kernel_support_acl Anand Jain
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Anand Jain @ 2023-06-22  8:18 UTC (permalink / raw)
  To: linux-btrfs

v2:
 Works on David's comments regarding function names.
 Also use /proc/config.gz to verify ACL support and
 merging individual test case fixes into a single patch.


Btrfs ACL support is a compiling time optional feature, instead of
failing the test cases, let them say notrun. This set fixes it.

Patch 1/2 is preparatory adds helper to check for btrfs acl support.
Patches 2/2 are actual fixes.

Thanks.

Anand Jain (2):
  btrfs-progs: tests: add helper check_kernel_support_acl
  btrfs-progs: tests: check for btrfs ACL support

 tests/common                                   | 18 ++++++++++++++++++
 tests/convert-tests/001-ext2-basic/test.sh     |  1 +
 tests/convert-tests/003-ext4-basic/test.sh     |  1 +
 .../005-delete-all-rollback/test.sh            |  1 +
 .../006-large-hole-extent/test.sh              |  1 +
 .../057-btrfstune-free-space-tree/test.sh      |  1 +
 6 files changed, 23 insertions(+)

-- 
2.39.3


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2 v2] btrfs-progs: tests: add helper check_kernel_support_acl
  2023-06-22  8:18 [PATCH 0/2 v2] btrfs-progs: tests: fix no acl support Anand Jain
@ 2023-06-22  8:18 ` Anand Jain
  2023-06-22  8:18 ` [PATCH 2/2 v2] btrfs-progs: tests: check for btrfs ACL support Anand Jain
  2023-06-28 21:10 ` [PATCH 0/2 v2] btrfs-progs: tests: fix no acl support David Sterba
  2 siblings, 0 replies; 4+ messages in thread
From: Anand Jain @ 2023-06-22  8:18 UTC (permalink / raw)
  To: linux-btrfs

Some test cases are failing because ACL is not compiled on the system.
Instead, they should be marked as 'not_run'.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
---
v2:
 Work on David's comments regarding function names.
 Also use /proc/config.gz to verify ACL support.

 tests/common | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/tests/common b/tests/common
index d985ef72a4f1..37473bc8080e 100644
--- a/tests/common
+++ b/tests/common
@@ -575,6 +575,24 @@ setup_root_helper()
 	SUDO_HELPER=root_helper
 }
 
+# Check if btrfs is compiled with CONFIG_BTRFS_FS_POSIX_ACL, may need TEST_DEV.
+check_kernel_support_acl()
+{
+	if [ -f /proc/config.gz ] && \
+	   ! zgrep -q "^CONFIG_BTRFS_FS_POSIX_ACL=y" /proc/config.gz; then
+		_not_run "ACL is not compiled"
+	fi
+
+	run_check_mkfs_test_dev
+	run_check_mount_test_dev
+
+	if grep "$TEST_MNT" /proc/self/mounts | grep -q noacl; then
+		run_check_umount_test_dev
+		_not_run "ACL is not compiled"
+	fi
+	run_check_umount_test_dev
+}
+
 prepare_test_dev()
 {
 	# num[K/M/G/T...]
-- 
2.39.3


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2 v2] btrfs-progs: tests: check for btrfs ACL support
  2023-06-22  8:18 [PATCH 0/2 v2] btrfs-progs: tests: fix no acl support Anand Jain
  2023-06-22  8:18 ` [PATCH 1/2 v2] btrfs-progs: tests: add helper check_kernel_support_acl Anand Jain
@ 2023-06-22  8:18 ` Anand Jain
  2023-06-28 21:10 ` [PATCH 0/2 v2] btrfs-progs: tests: fix no acl support David Sterba
  2 siblings, 0 replies; 4+ messages in thread
From: Anand Jain @ 2023-06-22  8:18 UTC (permalink / raw)
  To: linux-btrfs

Fix failures caused by the lack of ACL support in btrfs. For example:

  $ make test
    ::
    [TEST/misc]   057-btrfstune-free-space-tree
    failed: setfacl -m u:root:x /Volumes/ws/btrfs-progs/tests/mnt/acls/acls.1
    test failed for case 057-btrfstune-free-space-tree
    make: *** [Makefile:493: test-misc] Error 1

Similar failures occurred in the test cases convert/001-ext2-basic,
convert/003-ext4-basic, convert/005-delete-all-rollback, and
convert/006-large-hole-extent.

Resolve it by adding a check for ACL support using the
check_kernel_support_acl() helper function. It gracefully handles the case
when ACL support is not compiled by calling _not_run().

Signed-off-by: Anand Jain <anand.jain@oracle.com>
---
v2:
 Merge individual test case fixes into a single patch.

 tests/convert-tests/001-ext2-basic/test.sh             | 1 +
 tests/convert-tests/003-ext4-basic/test.sh             | 1 +
 tests/convert-tests/005-delete-all-rollback/test.sh    | 1 +
 tests/convert-tests/006-large-hole-extent/test.sh      | 1 +
 tests/misc-tests/057-btrfstune-free-space-tree/test.sh | 1 +
 5 files changed, 5 insertions(+)

diff --git a/tests/convert-tests/001-ext2-basic/test.sh b/tests/convert-tests/001-ext2-basic/test.sh
index 4e8aaecb2f55..3ed3ed0b82c9 100755
--- a/tests/convert-tests/001-ext2-basic/test.sh
+++ b/tests/convert-tests/001-ext2-basic/test.sh
@@ -8,6 +8,7 @@ check_global_prereq mke2fs
 
 setup_root_helper
 prepare_test_dev
+check_kernel_support_acl
 
 # Iterate over defaults and options that are not tied to hardware capabilities
 # or number of devices
diff --git a/tests/convert-tests/003-ext4-basic/test.sh b/tests/convert-tests/003-ext4-basic/test.sh
index 8a0b2e333554..dd7bb59181b0 100755
--- a/tests/convert-tests/003-ext4-basic/test.sh
+++ b/tests/convert-tests/003-ext4-basic/test.sh
@@ -8,6 +8,7 @@ check_global_prereq mke2fs
 
 setup_root_helper
 prepare_test_dev
+check_kernel_support_acl
 
 # Iterate over defaults and options that are not tied to hardware capabilities
 # or number of devices
diff --git a/tests/convert-tests/005-delete-all-rollback/test.sh b/tests/convert-tests/005-delete-all-rollback/test.sh
index 0b668a6fc1de..17bf8a379b6b 100755
--- a/tests/convert-tests/005-delete-all-rollback/test.sh
+++ b/tests/convert-tests/005-delete-all-rollback/test.sh
@@ -10,6 +10,7 @@ check_global_prereq mke2fs
 
 setup_root_helper
 prepare_test_dev
+check_kernel_support_acl
 
 # simple wrapper for a convert test
 # $1: btrfs features, argument to -O
diff --git a/tests/convert-tests/006-large-hole-extent/test.sh b/tests/convert-tests/006-large-hole-extent/test.sh
index 872b4a6f6175..7d92eb463af8 100755
--- a/tests/convert-tests/006-large-hole-extent/test.sh
+++ b/tests/convert-tests/006-large-hole-extent/test.sh
@@ -13,6 +13,7 @@ check_global_prereq mke2fs
 
 setup_root_helper
 prepare_test_dev
+check_kernel_support_acl
 
 default_mke2fs="mke2fs -t ext4 -b 4096"
 convert_test_preamble '' 'large hole extent test' 16k "$default_mke2fs"
diff --git a/tests/misc-tests/057-btrfstune-free-space-tree/test.sh b/tests/misc-tests/057-btrfstune-free-space-tree/test.sh
index 93ff4307fca9..8d9a858ddc2f 100755
--- a/tests/misc-tests/057-btrfstune-free-space-tree/test.sh
+++ b/tests/misc-tests/057-btrfstune-free-space-tree/test.sh
@@ -10,6 +10,7 @@ check_prereq btrfs
 
 setup_root_helper
 prepare_test_dev
+check_kernel_support_acl
 
 run_check_mkfs_test_dev -O ^free-space-tree
 run_check_mount_test_dev
-- 
2.39.3


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 0/2 v2] btrfs-progs: tests: fix no acl support
  2023-06-22  8:18 [PATCH 0/2 v2] btrfs-progs: tests: fix no acl support Anand Jain
  2023-06-22  8:18 ` [PATCH 1/2 v2] btrfs-progs: tests: add helper check_kernel_support_acl Anand Jain
  2023-06-22  8:18 ` [PATCH 2/2 v2] btrfs-progs: tests: check for btrfs ACL support Anand Jain
@ 2023-06-28 21:10 ` David Sterba
  2 siblings, 0 replies; 4+ messages in thread
From: David Sterba @ 2023-06-28 21:10 UTC (permalink / raw)
  To: Anand Jain; +Cc: linux-btrfs

On Thu, Jun 22, 2023 at 04:18:10PM +0800, Anand Jain wrote:
> v2:
>  Works on David's comments regarding function names.
>  Also use /proc/config.gz to verify ACL support and
>  merging individual test case fixes into a single patch.
> 
> 
> Btrfs ACL support is a compiling time optional feature, instead of
> failing the test cases, let them say notrun. This set fixes it.
> 
> Patch 1/2 is preparatory adds helper to check for btrfs acl support.
> Patches 2/2 are actual fixes.
> 
> Thanks.
> 
> Anand Jain (2):
>   btrfs-progs: tests: add helper check_kernel_support_acl
>   btrfs-progs: tests: check for btrfs ACL support

Added to devel, thanks. I'll queue the kernel part for 6.6.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-06-28 21:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-22  8:18 [PATCH 0/2 v2] btrfs-progs: tests: fix no acl support Anand Jain
2023-06-22  8:18 ` [PATCH 1/2 v2] btrfs-progs: tests: add helper check_kernel_support_acl Anand Jain
2023-06-22  8:18 ` [PATCH 2/2 v2] btrfs-progs: tests: check for btrfs ACL support Anand Jain
2023-06-28 21:10 ` [PATCH 0/2 v2] btrfs-progs: tests: fix no acl support David Sterba

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.