summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ctree.h
diff options
context:
space:
mode:
authorJosef Bacik2013-05-09 19:49:30 +0200
committerJosef Bacik2013-05-18 03:40:15 +0200
commitb1c79e0947e0c190f865e2eb7b84a0fea0021cec (patch)
tree30ab171c673a21d5506732bb6f9266235e2530fb /fs/btrfs/ctree.h
parentBtrfs: remove warn on in free space cache writeout (diff)
downloadkernel-qcow2-linux-b1c79e0947e0c190f865e2eb7b84a0fea0021cec.tar.gz
kernel-qcow2-linux-b1c79e0947e0c190f865e2eb7b84a0fea0021cec.tar.xz
kernel-qcow2-linux-b1c79e0947e0c190f865e2eb7b84a0fea0021cec.zip
Btrfs: handle running extent ops with skinny metadata
Chris hit a bug where we weren't finding extent records when running extent ops. This is because we use the delayed_ref_head when running the extent op, which means we can't use the ->type checks to see if we are metadata. We also lose the level of the metadata we are working on. So to fix this we can just check the ->is_data section of the extent_op, and we can store the level of the buffer we were modifying in the extent_op. Thanks, Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r--fs/btrfs/ctree.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 2720d5555883..d6dd49b51ba8 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -3075,7 +3075,7 @@ int btrfs_dec_ref(struct btrfs_trans_handle *trans, struct btrfs_root *root,
int btrfs_set_disk_extent_flags(struct btrfs_trans_handle *trans,
struct btrfs_root *root,
u64 bytenr, u64 num_bytes, u64 flags,
- int is_data);
+ int level, int is_data);
int btrfs_free_extent(struct btrfs_trans_handle *trans,
struct btrfs_root *root,
u64 bytenr, u64 num_bytes, u64 parent, u64 root_objectid,