From: Chris Mason Date: Wed, 25 Jun 2008 20:01:30 +0000 (-0400) Subject: Btrfs: Add a skip_locking parameter to struct path, and make various funcs honor it X-Git-Tag: v2.6.29-rc1~27^2~9^2~55^2~56^2~30^2~139 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5cd57b2cbbb06a350df2698314e4e6a80805fc2f;p=pandora-kernel.git 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 --- Reading git-diff-tree failed