btrfs-progs: fsck-tests: verify 'btrfs check --repair' fixes corrupted nlink field
PATCH v4 1/1 btrfs-progs: fsck-tests: verify 'btrfs check --repair' fixes corrupted nlink field
commit 5cdcc57b8d599f03fe692e0285ee9e17f32267fa
Author: Lakshmipathi.G <[email protected]> Date: Sat Apr 15 14:26:20 2017 +0530
btrfs-progs: fsck-tests: verify 'btrfs check --repair' fixes corrupted nlink field
Signed-off-by Lakshmipathi.G <[email protected]>
tests/fsck-tests/026-check-inode-link/test.sh new file +38 -0
@@ -0,0 +1,38 @@ +#!/bin/bash +# verify that 'btrfs check --repair' fixes corrupted inode nlink field + +source $TOP/tests/common + +check_prereq btrfs-corrupt-block +check_prereq mkfs.btrfs + +setup_root_helper +prepare_test_dev + +test_inode_nlink_field() +{ + run_check $SUDO_HELPER "$TOP/mkfs.btrfs" -f "$TEST_DEV" + + run_check_mount_test_dev + run_check $SUDO_HELPER touch "$TEST_MNT/test_nlink.txt" + + # find inode_number + inode_number=`stat -c%i "$TEST_MNT/test_nlink.txt"` + run_check_umount_test_dev + + # corrupt nlink field of inode object + run_check $SUDO_HELPER "$TOP/btrfs-corrupt-block" -i "$inode_number" \ + -f nlink "$TEST_DEV" + + check_image "$TEST_DEV" + + # verify link count + run_check_mount_test_dev + link_count=`stat -c%h "$TEST_MNT/test_nlink.txt"` + run_check_umount_test_dev + if [ "$link_count" != 1 ];then + _fail "btrfs check --repair: Unable to fix nlink corruption." + fi +} + +test_inode_nlink_field