X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=btrfstune.c;h=eccedf79a8039641693739dd2d58c1d4c5478748;hb=f9c56d3489c60f0bedf5b86ead01bf471e9411d6;hp=580fb4011d09553588a4b1de0233699c806b4001;hpb=f85fc6e378291c7816be6be3ab71beb2e954827c;p=platform%2Fupstream%2Fbtrfs-progs.git diff --git a/btrfstune.c b/btrfstune.c index 580fb40..eccedf7 100644 --- a/btrfstune.c +++ b/btrfstune.c @@ -66,6 +66,7 @@ static int update_seeding_flag(struct btrfs_root *root, int set_flag) } trans = btrfs_start_transaction(root, 1); + BUG_ON(IS_ERR(trans)); btrfs_set_super_flags(disk_super, super_flags); ret = btrfs_commit_transaction(trans, root); @@ -83,6 +84,7 @@ static int set_super_incompat_flags(struct btrfs_root *root, u64 flags) super_flags = btrfs_super_incompat_flags(disk_super); super_flags |= flags; trans = btrfs_start_transaction(root, 1); + BUG_ON(IS_ERR(trans)); btrfs_set_super_incompat_flags(disk_super, super_flags); ret = btrfs_commit_transaction(trans, root); @@ -149,7 +151,7 @@ static int change_extents_uuid(struct btrfs_fs_info *fs_info) goto next; bytenr = key.objectid; - eb = read_tree_block(fs_info, bytenr, fs_info->nodesize, 0); + eb = read_tree_block(fs_info, bytenr, 0); if (IS_ERR(eb)) { error("failed to read tree block: %llu", bytenr); ret = PTR_ERR(eb); @@ -177,10 +179,9 @@ out: return ret; } -static int change_device_uuid(struct btrfs_root *root, struct extent_buffer *eb, +static int change_device_uuid(struct btrfs_fs_info *fs_info, struct extent_buffer *eb, int slot) { - struct btrfs_fs_info *fs_info = root->fs_info; struct btrfs_dev_item *di; int ret = 0; @@ -216,7 +217,7 @@ static int change_devices_uuid(struct btrfs_fs_info *fs_info) if (key.type != BTRFS_DEV_ITEM_KEY || key.objectid != BTRFS_DEV_ITEMS_OBJECTID) goto next; - ret = change_device_uuid(root, path.nodes[0], path.slots[0]); + ret = change_device_uuid(fs_info, path.nodes[0], path.slots[0]); if (ret < 0) goto out; next: @@ -243,7 +244,7 @@ static int change_fsid_prepare(struct btrfs_fs_info *fs_info) btrfs_set_super_flags(fs_info->super_copy, flags); memcpy(fs_info->super_copy->fsid, fs_info->new_fsid, BTRFS_FSID_SIZE); - ret = write_all_supers(tree_root); + ret = write_all_supers(fs_info); if (ret < 0) return ret; @@ -261,7 +262,7 @@ static int change_fsid_done(struct btrfs_fs_info *fs_info) flags &= ~BTRFS_SUPER_FLAG_CHANGING_FSID; btrfs_set_super_flags(fs_info->super_copy, flags); - return write_all_supers(fs_info->tree_root); + return write_all_supers(fs_info); } /* @@ -355,7 +356,7 @@ static int change_uuid(struct btrfs_fs_info *fs_info, const char *new_fsid_str) BTRFS_FSID_SIZE); memcpy(fs_info->super_copy->fsid, fs_info->new_fsid, BTRFS_FSID_SIZE); - ret = write_all_supers(fs_info->tree_root); + ret = write_all_supers(fs_info); if (ret < 0) goto out;