diff options
author | Theodore Ts'o <tytso@mit.edu> | 2018-11-23 22:34:31 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2018-11-23 22:47:08 -0500 |
commit | 0eeb17d0610fd512c1038dabb39370420ffb47a4 (patch) | |
tree | ef3477562ce36687caa64a93afc5c78d0bc60ad0 /tests | |
parent | b7bb80dc7033776149bb1f33c81a753fe21a2f89 (diff) | |
download | e2fsprogs-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/expect | 29 | ||||
-rw-r--r-- | tests/t_dangerous/script | 33 |
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 # |