summaryrefslogtreecommitdiff
path: root/btrfs-corrupt-block.c
diff options
context:
space:
mode:
authorLakshmipathi.G <Lakshmipathi.G@giis.co.in>2017-01-05 11:08:32 +0100
committerDavid Sterba <dsterba@suse.com>2017-01-25 09:47:49 +0100
commit4632cdf94df87936f6a58474127c63e86b784bd8 (patch)
treec8645ea236799adb2553cf52c8fa203bb6e170ed /btrfs-corrupt-block.c
parenta595ade0d586947ab00396f9efc267095637f7f0 (diff)
btrfs-progs: corrupt-block: Include inode nlink field
Signed-off-by: Lakshmipathi.G <Lakshmipathi.G@giis.co.in> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'btrfs-corrupt-block.c')
-rw-r--r--btrfs-corrupt-block.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/btrfs-corrupt-block.c b/btrfs-corrupt-block.c
index 16680df7..a2f35abc 100644
--- a/btrfs-corrupt-block.c
+++ b/btrfs-corrupt-block.c
@@ -308,6 +308,7 @@ static void btrfs_corrupt_extent_tree(struct btrfs_trans_handle *trans,
enum btrfs_inode_field {
BTRFS_INODE_FIELD_ISIZE,
BTRFS_INODE_FIELD_NBYTES,
+ BTRFS_INODE_FIELD_NLINK,
BTRFS_INODE_FIELD_BAD,
};
@@ -346,6 +347,8 @@ static enum btrfs_inode_field convert_inode_field(char *field)
return BTRFS_INODE_FIELD_ISIZE;
if (!strncmp(field, "nbytes", FIELD_BUF_LEN))
return BTRFS_INODE_FIELD_NBYTES;
+ if (!strncmp(field, "nlink", FIELD_BUF_LEN))
+ return BTRFS_INODE_FIELD_NLINK;
return BTRFS_INODE_FIELD_BAD;
}
@@ -603,6 +606,11 @@ static int corrupt_inode(struct btrfs_trans_handle *trans,
bogus = generate_u64(orig);
btrfs_set_inode_nbytes(path->nodes[0], ei, bogus);
break;
+ case BTRFS_INODE_FIELD_NLINK:
+ orig = btrfs_inode_nlink(path->nodes[0], ei);
+ bogus = generate_u32(orig);
+ btrfs_set_inode_nlink(path->nodes[0], ei, bogus);
+ break;
default:
ret = -EINVAL;
break;