From: Al Viro Date: Tue, 26 Mar 2013 22:25:57 +0000 (-0400) Subject: Nest rename_lock inside vfsmount_lock X-Git-Tag: v3.9-rc5~27^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7ea600b5314529f9d1b9d6d3c41cb26fce6a7a4a;p=pandora-kernel.git Nest rename_lock inside vfsmount_lock ... lest we get livelocks between path_is_under() and d_path() and friends. The thing is, wrt fairness lglocks are more similar to rwsems than to rwlocks; it is possible to have thread B spin on attempt to take lock shared while thread A is already holding it shared, if B is on lower-numbered CPU than A and there's a thread C spinning on attempt to take the same lock exclusive. As the result, we need consistent ordering between vfsmount_lock (lglock) and rename_lock (seq_lock), even though everything that takes both is going to take vfsmount_lock only shared. Spotted-by: Brad Spengler Cc: stable@vger.kernel.org Signed-off-by: Al Viro --- Reading git-diff-tree failed