]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit2589c30c3753c9bcba4aa5c3c4b9a0764ca58314
tree30ab171c673a21d5506732bb6f9266235e2530fb
parent1a270d8c28944989269996128e0022e78fc49e83
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