summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2018-11-23 22:34:31 -0500
committerTheodore Ts'o <tytso@mit.edu>2018-11-23 22:47:08 -0500
commit0eeb17d0610fd512c1038dabb39370420ffb47a4 (patch)
treeef3477562ce36687caa64a93afc5c78d0bc60ad0 /tests
parentb7bb80dc7033776149bb1f33c81a753fe21a2f89 (diff)
downloade2fsprogs-0eeb17d0610fd512c1038dabb39370420ffb47a4.tar.gz
tune2fs: fix false warning that a UUID change will take a long time
If the file system only has the flex_bg feature enabled (with out the metadata_csum feature enabled), it won't take a long time time fix up the checksums after changing the UUID. While it does need to recalculate all of the checksums in the block group descriptors, that doesn't take a long time. Also, if the ea_data feature is enabled, changing the UUID will also take a long time, and we weren't warning the user about that case. Fix up the warning message so it doesn't mislead people, and is more accurate. Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'tests')
-rw-r--r--tests/t_dangerous/expect29
-rw-r--r--tests/t_dangerous/script33
2 files changed, 51 insertions, 11 deletions
diff --git a/tests/t_dangerous/expect b/tests/t_dangerous/expect
index a9903b75..31aaf4fa 100644
--- a/tests/t_dangerous/expect
+++ b/tests/t_dangerous/expect
@@ -43,10 +43,6 @@ tune2fs -I 512 test.img
Resizing inodes could take some time.
Proceed anyway (or wait 5 seconds to proceed) ? (y,N)
Exit status is 1
-tune2fs -U random test.img
-Setting UUID on a checksummed filesystem could take some time.
-Proceed anyway (or wait 5 seconds to proceed) ? (y,N)
-Exit status is 1
Change in FS metadata:
Pass 1: Checking inodes, blocks, and sizes
@@ -79,7 +75,7 @@ Resizing inodes could take some time.
Proceed anyway (or wait 5 seconds to proceed) ? (y,N) Setting inode size 512
Exit status is 0
tune2fs -U f0f0f0f0-f0f0-f0f0-f0f0-f0f0f0f0f0f0 test.img
-Setting UUID on a checksummed filesystem could take some time.
+Setting the UUID on this filesystem could take some time.
Proceed anyway (or wait 5 seconds to proceed) ? (y,N) Exit status is 0
Backing up journal inode block information.
@@ -99,3 +95,26 @@ Pass 4: Checking reference counts
Pass 5: Checking group summary information
Exit status is 0
+
+Testing with metadata checksum enabled
+Creating filesystem with 524288 1k blocks and 65536 inodes
+Superblock backups stored on blocks:
+ 8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
+
+Allocating group tables: done
+Writing inode tables: done
+Creating journal (16384 blocks): done
+Creating 445 huge file(s) with 1024 blocks each: done
+Writing superblocks and filesystem accounting information: done
+
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+
+Exit status is 0
+tune2fs -U random test.img
+Setting the UUID on this filesystem could take some time.
+Proceed anyway (or wait 5 seconds to proceed) ? (y,N)
+Exit status is 1
diff --git a/tests/t_dangerous/script b/tests/t_dangerous/script
index b7142188..f684d56d 100644
--- a/tests/t_dangerous/script
+++ b/tests/t_dangerous/script
@@ -17,6 +17,18 @@ cat > $CONF << ENDL
hugefiles_size = 1M
zero_hugefiles = false
}
+ ext4m = {
+ features = has_journal,extent,huge_file,^flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,dir_index,ext_attr,resize_inode,64bit,metadata_csum
+ blocksize = 1024
+ inode_size = 256
+ make_hugefiles = true
+ hugefiles_dir = /
+ hugefiles_slack = 32M
+ hugefiles_name = aaaaa
+ hugefiles_digits = 4
+ hugefiles_size = 1M
+ zero_hugefiles = false
+ }
ENDL
echo "tune2fs dangerous prompts test" > $OUT
@@ -62,12 +74,6 @@ echo 'n' | TUNE2FS_FORCE_PROMPT=1 $TUNE2FS -I 512 $TMPFILE >> $OUT 2>&1
status=$?
echo Exit status is $status >> $OUT
-# change uuid
-echo "tune2fs -U random test.img" >> $OUT
-echo 'n' | TUNE2FS_FORCE_PROMPT=1 $TUNE2FS -U random $TMPFILE >> $OUT 2>&1
-status=$?
-echo Exit status is $status >> $OUT
-
# check
$FSCK -yD -N test_filesys $TMPFILE >> $OUT 2>&1
@@ -111,6 +117,21 @@ $FSCK $FSCK_OPT -N test_filesys $TMPFILE >> $OUT 2>&1
status=$?
echo Exit status is $status >> $OUT
+echo " " >> $OUT
+echo "Testing with metadata checksum enabled" >> $OUT
+
+MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4m -U 6fc3daa4-180d-4f2b-a6f2-f7a5efb79bcf $TMPFILE 524288 >> $OUT 2>&1
+$DUMPE2FS $TMPFILE 2> /dev/null | grep '^Group 0:' -B99 -A20 | sed -f $cmd_dir/filter.sed > $OUT.before
+$FSCK $FSCK_OPT -f -N test_filesys $TMPFILE >> $OUT 2>&1
+status=$?
+echo Exit status is $status >> $OUT
+
+# change uuid
+echo "tune2fs -U random test.img" >> $OUT
+echo 'n' | TUNE2FS_FORCE_PROMPT=1 $TUNE2FS -U random $TMPFILE >> $OUT 2>&1
+status=$?
+echo Exit status is $status >> $OUT
+
rm $TMPFILE $OUT.before $OUT.after $CONF
#