]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
tests: support mkfs.ext4 without metadata_csum
authorStephen Warren <swarren@nvidia.com>
Tue, 4 Aug 2020 17:28:33 +0000 (11:28 -0600)
committerTom Rini <trini@konsulko.com>
Sat, 8 Aug 2020 02:31:32 +0000 (22:31 -0400)
Modify various test/py filesystem creation routines to support systems
that don't implement the metadata_csum ext4 feature.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
test/py/tests/test_env.py
test/py/tests/test_fs/conftest.py

index 86ec1b36d36e4b789ffac7829209f4efd3ce5bd7..2ae8f25381ea32fb720ce276e56fe6215ddafcd0 100644 (file)
@@ -416,7 +416,10 @@ def mk_env_ext4(state_test_env):
     else:
         try:
             u_boot_utils.run_and_log(c, 'dd if=/dev/zero of=%s bs=1M count=16' % persistent)
-            u_boot_utils.run_and_log(c, 'mkfs.ext4 -O ^metadata_csum %s' % persistent)
+            u_boot_utils.run_and_log(c, 'mkfs.ext4 %s' % persistent)
+            sb_content = u_boot_utils.run_and_log(c, 'tune2fs -l %s' % persistent)
+            if 'metadata_csum' in sb_content:
+                u_boot_utils.run_and_log(c, 'tune2fs -O ^metadata_csum %s' % persistent)
         except CalledProcessError:
             call('rm -f %s' % persistent, shell=True)
             raise
index ee82169c2a37eae1d2b22e23fc9289869a8971c2..58e8cd46ee2c612c62a9b6090ac500d60cd346a2 100644 (file)
@@ -149,8 +149,6 @@ def mk_fs(config, fs_type, size, id):
         mkfs_opt = '-F 16'
     elif fs_type == 'fat32':
         mkfs_opt = '-F 32'
-    elif fs_type == 'ext4':
-        mkfs_opt = '-O ^metadata_csum'
     else:
         mkfs_opt = ''
 
@@ -167,6 +165,10 @@ def mk_fs(config, fs_type, size, id):
             % (fs_img, count), shell=True)
         check_call('mkfs.%s %s %s'
             % (fs_lnxtype, mkfs_opt, fs_img), shell=True)
+        if fs_type == 'ext4':
+            sb_content = check_output('tune2fs -l %s' % fs_img, shell=True).decode()
+            if 'metadata_csum' in sb_content:
+                check_call('tune2fs -O ^metadata_csum %s' % fs_img, shell=True)
         return fs_img
     except CalledProcessError:
         call('rm -f %s' % fs_img, shell=True)