kill-the-bkl/reiserfs: don't hold the write recursively in reiserfs_lookup()
authorFrederic Weisbecker <fweisbec@gmail.com>
Thu, 7 May 2009 23:05:06 +0000 (01:05 +0200)
committerFrederic Weisbecker <fweisbec@gmail.com>
Mon, 14 Sep 2009 05:18:17 +0000 (07:18 +0200)
commitb1c839bb2d8d6f1f6bf48f5c657752b4963f88f8
tree7396e1e56cfe544248d0e21374ab10f4edf6de3a
parent26931309a47747fd31b2ef029c29d47794c2d93d
kill-the-bkl/reiserfs: don't hold the write recursively in reiserfs_lookup()

The write lock can be acquired recursively in reiserfs_lookup(). But we may
want to *really* release the lock before possible rescheduling from a
reiserfs_lookup() callee.

Hence we want to only acquire the lock once (ie: not recursively).

[ Impact: prevent from possible false unreleased write lock on sleeping ]

Cc: Jeff Mahoney <jeffm@suse.com>
Cc: Chris Mason <chris.mason@oracle.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
fs/reiserfs/namei.c