struct btrfs_data_container *inodes = NULL;
struct btrfs_path *path = NULL;
bool ignore_offset;
+ struct btrfs_trans_handle *trans;
+ struct btrfs_root *root = fs_info->tree_root;
if (!capable(CAP_SYS_ADMIN))
return -EPERM;
goto out;
}
+ trans = btrfs_join_transaction(root);
+ if (IS_ERR(trans)) {
+ btrfs_info(fs_info, "btrfs_join_transaction failed, trans = %p", trans);
+ trans = NULL;
+ }
+
ret = iterate_inodes_from_logical(loi->logical, fs_info, path,
build_ino_list, inodes, ignore_offset);
+
+ if (trans)
+ btrfs_end_transaction(trans);
+
if (ret == -EINVAL)
ret = -ENOENT;
if (ret < 0)