On 2/20/24 09:31, Qu Wenruo wrote:
[BUG] When running an older (vendoer v6.4) kernel, some qgroup test cases would be skipped: btrfs/017 1s ... [not run] not running normal qgroups [CAUSE] With the introduce of simple quota mode, there is a new sysfs interface, /sys/fs/btrfs/<uuid>/qgroups/mode to indicate the currently running qgroup modes. And _qgroup_mode() from `common/btrfs` is using that new interface to detect the mode. Unfortuantely for older kernels without simple quota support, _qgroup_mode() would return "disabled" directly, causing those test case to be skipped. [FIX] Fallback to regular qgroup if that sysfs interface is not accessible, as qgroup is introduced from the very beginning of btrfs, thus the regular qgroup is always supported. Signed-off-by: Qu Wenruo <wqu@xxxxxxxx>
Reviewed-by: Anand Jain <anand.jain@xxxxxxxxxx> Sorry for missing this patch. Now, applied and staged for the next PR. Thanks.
--- common/btrfs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/btrfs b/common/btrfs index e1b29c61..0a3f0f0b 100644 --- a/common/btrfs +++ b/common/btrfs @@ -728,7 +728,7 @@ _qgroup_mode() if _has_fs_sysfs_attr $dev /qgroups/mode; then _get_fs_sysfs_attr $dev qgroups/mode else - echo "disabled" + echo "qgroup" fi }