From: Alex Zarochentsev This patch fixes broken lock ordering. Signed-off-by: Vladimir V. Saveliev Signed-off-by: Hans Reiser Signed-off-by: Andrew Morton --- fs/reiser4/txnmgr.c | 2 ++ 1 files changed, 2 insertions(+) diff -puN fs/reiser4/txnmgr.c~reiser4-lock-ordering-fix fs/reiser4/txnmgr.c --- devel/fs/reiser4/txnmgr.c~reiser4-lock-ordering-fix 2005-11-16 17:34:14.000000000 -0800 +++ devel-akpm/fs/reiser4/txnmgr.c 2005-11-16 17:34:14.000000000 -0800 @@ -2256,7 +2256,9 @@ static void fuse_not_fused_lock_owners(t spin_lock_atom(atomh); } if (atomh == atomf || !atom_isopen(atomh) || !atom_isopen(atomf)) { + spin_unlock_atom(atomf); atom_dec_and_unlock(atomh); + spin_lock_atom(atomf); atom_dec_and_unlock(atomf); goto repeat; } _