summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/file.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2008-06-25 16:01:30 -0400
committerChris Mason <chris.mason@oracle.com>2008-09-25 11:04:03 -0400
commit5cd57b2cbbb06a350df2698314e4e6a80805fc2f (patch)
treecd20c904dd016ab031af582dadfbd6e04bf4df9e /fs/btrfs/file.c
parent168fd7d271d9d8e81ff0b03eb08c36d82670c8a9 (diff)
downloadkernel-crypto-5cd57b2cbbb06a350df2698314e4e6a80805fc2f.tar.gz
kernel-crypto-5cd57b2cbbb06a350df2698314e4e6a80805fc2f.tar.xz
kernel-crypto-5cd57b2cbbb06a350df2698314e4e6a80805fc2f.zip
Btrfs: Add a skip_locking parameter to struct path, and make various funcs honor it
Allocations may need to read in block groups from the extent allocation tree, which will require a tree search and take locks on the extent allocation tree. But, those locks might already be held in other places, leading to deadlocks. Since the alloc_mutex serializes everything right now, it is safe to skip the btree locking while caching block groups. A better fix will be to either create a recursive lock or find a way to back off existing locks while caching block groups. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/file.c')
0 files changed, 0 insertions, 0 deletions