aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/delayed-ref.h
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2009-03-13 10:11:24 -0400
committerChris Mason <chris.mason@oracle.com>2009-03-24 16:14:26 -0400
commit1887be66dcc3140a81d1299958a41fc0eedfa64f (patch)
tree3f0666948a83c48c77e0c37dca1c71a6aff9eb1d /fs/btrfs/delayed-ref.h
parent44871b1b24b593996db43495cf4484cc580bdc10 (diff)
Btrfs: try to cleanup delayed refs while freeing extents
When extents are freed, it is likely that we've removed the last delayed reference update for the extent. This checks the delayed ref tree when things are freed, and if no ref updates area left it immediately processes the delayed ref. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/delayed-ref.h')
-rw-r--r--fs/btrfs/delayed-ref.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/btrfs/delayed-ref.h b/fs/btrfs/delayed-ref.h
index 37919e5c007f..c345fee9f96b 100644
--- a/fs/btrfs/delayed-ref.h
+++ b/fs/btrfs/delayed-ref.h
@@ -137,9 +137,8 @@ int btrfs_add_delayed_ref(struct btrfs_trans_handle *trans,
137 u64 ref_generation, u64 owner_objectid, int action, 137 u64 ref_generation, u64 owner_objectid, int action,
138 int pin); 138 int pin);
139 139
140struct btrfs_delayed_ref * 140struct btrfs_delayed_ref_head *
141btrfs_find_delayed_ref(struct btrfs_trans_handle *trans, u64 bytenr, 141btrfs_find_delayed_ref_head(struct btrfs_trans_handle *trans, u64 bytenr);
142 u64 parent);
143int btrfs_delayed_ref_pending(struct btrfs_trans_handle *trans, u64 bytenr); 142int btrfs_delayed_ref_pending(struct btrfs_trans_handle *trans, u64 bytenr);
144int btrfs_lock_delayed_ref(struct btrfs_trans_handle *trans, 143int btrfs_lock_delayed_ref(struct btrfs_trans_handle *trans,
145 struct btrfs_delayed_ref_node *ref, 144 struct btrfs_delayed_ref_node *ref,