btrfs-progs/tests/misc-tests
Qu Wenruo ff1ff014f0 btrfs-progs: tests: in misc/038 test cases
The test case always fails in my VM, with the following error:

  $ sudo TEST=038\* make test-misc
     [TEST]   misc-tests.sh
     [TEST/misc]   038-backup-root-corruption
  Backup 2 not overwritten
  test failed for case 038-backup-root-corruption

After more debugging, it turns out that there is nothing wrong except
the final check:

  [ "$main_root_ptr" -ne "$backup_new_root_ptr" ] || _fail "Backup 2 not overwritten"

The _fail() is only triggered if the previous check returns false, which
is completely the opposite.

Furthermore on the github CI, the kernel commits 2 instead of 1
transaction, resulting the next slot never to match the current
generation/tree root.

The two bugs combined, github CI always passses the test case, while
for my VM which does the expected one transaction, it would always fail.

Fix it by:

- Use a proper "if [] then; fi" block to check the tree root bytenr
- Use the generation diff to calculate the expected backup root slot
- Log the full super block dump for debug usage

Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-06-05 19:51:18 +02:00
..
001-btrfstune-features btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
002-uuid-rewrite btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
003-zero-log btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
004-shrink-fs btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
005-convert-progress-thread-crash btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
006-image-on-missing-device btrfs-progs: ci: wait for loop devices before mount 2023-11-03 18:04:37 +01:00
007-subvolume-sync btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
008-leaf-crossing-stripes btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
009-subvolume-sync-must-wait btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
010-convert-delete-ext2-subvol btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
011-delete-missing-device btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
012-find-root-no-result btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
013-subvolume-sync-crash btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
014-filesystem-label btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
015-dump-super-garbage btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
016-send-clone-src btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
017-recv-stream-malformatted btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
018-recv-end-of-stream btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
019-receive-clones-on-mounted-subvol btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
020-fix-superblock-corruption btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
021-image-multi-devices btrfs-progs: ci: wait for loop devices before mount 2023-11-03 18:04:37 +01:00
022-filesystem-du-on-empty-subvol btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
023-device-usage-with-missing-device btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
024-inspect-internal-rootid btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
025-zstd-compression btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
026-image-non-printable-chars btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
027-subvol-list-deleted-toplevel btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
028-superblock-recover btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
029-send-p-different-mountpoints btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
030-missing-device-image btrfs-progs: ci: wait for loop devices before mount 2023-11-03 18:04:37 +01:00
031-qgroup-parent-child-relation btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
032-bad-item-ptr btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
033-filename-length-limit btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
034-metadata-uuid btrfs-progs: test: misc/034 remove kernel support 2023-10-03 01:11:55 +02:00
035-receive-common-mount-point-prefix btrfs-progs: ci: wait for loop devices before mount 2023-11-03 18:04:37 +01:00
036-receive-dump-invalid-stream btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
037-fi-show-on-new-file btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
038-backup-root-corruption btrfs-progs: tests: in misc/038 test cases 2024-06-05 19:51:18 +02:00
039-receive-clone-from-current-subvolume btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
040-subvolume-delete-default btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
041-subvolume-delete-during-send btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
042-inspect-internal-logical-resolve btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
043-subvolume-set-default-toplevel btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
045-receive-check-mount-type btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
046-seed-multi-mount btrfs-progs: ci: wait for loop devices before mount 2023-11-03 18:04:37 +01:00
047-raid5-convert btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
048-image-restore-mount btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
049-btrfstune-transid-mismatch btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
050-receive-prop-ro-to-rw btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
051-warning-rw-subvol-received-uuid btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
052-seed-dirty-log btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
053-receive-write-encoded btrfs-progs: tests: don't show grep output when checking stream version 2023-07-26 15:00:47 +02:00
054-receive-dump-newlines btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
055-qgroup-clear-stale btrfs-progs: tests: update misc/055 to handle longer subvolume cleaning 2024-06-03 20:57:02 +02:00
056-subvolume-list-uuid btrfs-progs: tests: add protection against running out of test suite 2023-04-25 16:59:41 +02:00
057-btrfstune-free-space-tree btrfs-progs: tests: check for btrfs ACL support 2023-07-26 14:59:10 +02:00
058-replace-start-enqueue btrfs-progs: tests: misc/058: reduce the space requirement and speed up the test 2023-08-23 19:36:31 +02:00
059-qgroup-show-stale-qgroup-crash btrfs-progs: tests: check that qgroup show does not crash on stale qgroups 2023-10-13 18:13:12 +02:00
060-ino-cache-clean btrfs-progs: tests: add missing protection against running out of test suite 2024-06-03 22:37:53 +02:00
062-fi-show-raw-dm-all-devices btrfs-progs: tests: verify filesystem show on a raw device mapper path 2024-01-31 11:07:57 +01:00
063-btrfstune-zoned-bgt btrfs-progs: tests: add a test case to check zoned bgt conversion 2024-04-18 19:16:15 +02:00