----------------------------
FILE SYSTEM HAS BEEN CHANGED
----------------------------
-0
+fsck reports changed and uncorrected: 7
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000400 10 00 00 00 00 00 01 00 01 00 05 00 00 00 00 00 |................|
--- /dev/null
+32 inodes
+16 blocks
+Firstdatazone=5 (5)
+Zonesize=1024
+Maxsize=268966912
+
+2 bad blocks
+mkfs return value: 0
+fsck return value: 0
+00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
+*
+00000400 20 00 10 00 01 00 01 00 05 00 00 00 00 1c 08 10 | ...............|
+00000410 8f 13 01 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
+00000420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
+*
+00000800 07 00 00 00 fe ff ff ff ff ff ff ff ff ff ff ff |................|
+00000810 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
+*
+00000c00 33 f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff |3...............|
+00000c10 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
+*
+00001000 ed 41 00 00 60 00 00 00 34 29 bd 55 00 02 05 00 |.A..`...4).U....|
+00001010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
+00001020 00 80 00 00 00 08 00 00 34 29 bd 55 00 01 08 00 |........4).U....|
+00001030 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
+00001040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
+*
+00001400 01 00 2e 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
+00001410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
+00001420 01 00 2e 2e 00 00 00 00 00 00 00 00 00 00 00 00 |................|
+00001430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
+00001440 02 00 2e 62 61 64 62 6c 6f 63 6b 73 00 00 00 00 |...badblocks....|
+00001450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
+*
+00004000
ts_init "$*"
# inode contains UID and GID, use always UID=0 to get the same checksum
+# TODO any mkfs should use UID=0 per default (custom uid optionally) like mk2fs
ts_skip_nonroot
ts_check_test_command "$TS_CMD_FSCKMINIX"
check_minix_fs_type 'v2c30' '-2 -n 30'
check_minix_fs_type 'v3c60' '-3 -n 60'
+bad="$TS_OUTDIR/${TS_TESTNAME}.badlist"
+# TODO seems that mkfs produces non-sense if badblocks are greater than device.
+echo -e "8\n9" > $bad
+
+# NOTE, -c with -l ignores -l.
+check_minix_fs_type 'check-blocks' "-l $bad -c"
+check_minix_fs_type 'badblocks' "-l $bad"
+
+rm -f $bad
+
+# NOTE this seems odd: a 2nd fsck run would again modify the FS
ts_init_subtest "auto-fix"
img=${TS_OUTPUT}.img
cp "$TS_SELF/broken-root" $img
-"$TS_CMD_FSCKMINIX" -sav $img |
- sed 's/Filesystem on .* is dirty/Filesystem auto-fix is dirty/' > $TS_OUTPUT 2>&1
-echo $? >> $TS_OUTPUT
+$TS_CMD_FSCKMINIX -sav $img >> $TS_OUTPUT 2>&1
+echo "fsck reports changed and uncorrected: $?" >> $TS_OUTPUT
$TS_CMD_HEXDUMP -C $img >> $TS_OUTPUT 2>&1
+sed -i 's/Filesystem on .* is dirty/Filesystem auto-fix is dirty/' $TS_OUTPUT
ts_finalize_subtest
ts_init_subtest "bug.773892"
-"$TS_CMD_FSCKMINIX" "$TS_SELF/debian.bug.773892" > $TS_OUTPUT 2>&1
-echo $? >> $TS_OUTPUT
+"$TS_CMD_FSCKMINIX" -f "$TS_SELF/debian.bug.773892" >>$TS_OUTPUT 2>&1 >/dev/null
+echo "fsck reports uncorrected: $?" >> $TS_OUTPUT
ts_finalize_subtest
ts_init_subtest "broken-root"
"$TS_CMD_FSCKMINIX" "$TS_SELF/broken-root" > $TS_OUTPUT 2>&1
-echo $? >> $TS_OUTPUT
+echo "fsck reports uncorrected: $?" >> $TS_OUTPUT
ts_finalize_subtest
-img="$TS_OUTDIR/${TS_TESTNAME}.badlist"
-echo "42" > $img
-check_minix_fs_type 'check-blocks' "-l $img -c"
-rm -f $img
-
ts_finalize