summary refs log tree commit diff
path: root/fs/btrfs/ordered-data.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2009-03-25 09:55:11 -0400
committerChris Mason <chris.mason@oracle.com>2009-03-25 09:55:11 -0400
commit1a81af4d1d9c60d4313309f937a1fc5567205a87 (patch)
tree535b65b3948d34f0948613afc6ebdfe693683f33 /fs/btrfs/ordered-data.c
parentaf4176b49c5ee15a9c9b10720c92456b28e7aac7 (diff)
downloadlinux-1a81af4d1d9c60d4313309f937a1fc5567205a87.tar.gz
Btrfs: make sure btrfs_update_delayed_ref doesn't increase ref_mod
btrfs_update_delayed_ref is optimized to add and remove different
references in one pass through the delayed ref tree.  It is a zero
sum on the total number of refs on a given extent.

But, the code was recording an extra ref in the head node.  This
never made it down to the disk but was used when deciding if it was
safe to free the extent while dropping snapshots.

The fix used here is to make sure the ref_mod count is unchanged
on the head ref when btrfs_update_delayed_ref is called.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/ordered-data.c')
0 files changed, 0 insertions, 0 deletions