Btrfs: handle running extent ops with skinny metadata
authorJosef Bacik <jbacik@fusionio.com>
Thu, 9 May 2013 17:49:30 +0000 (13:49 -0400)
committerJosef Bacik <jbacik@fusionio.com>
Sat, 18 May 2013 01:40:15 +0000 (21:40 -0400)
commitb1c79e0947e0c190f865e2eb7b84a0fea0021cec
tree30ab171c673a21d5506732bb6f9266235e2530fb
parent73e1e61fb85ab206854b6d87ff31733628bb8d72
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>
fs/btrfs/ctree.c
fs/btrfs/ctree.h
fs/btrfs/delayed-ref.h
fs/btrfs/extent-tree.c