aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorVladimir Saveliev <vs@namesys.com>2004-12-23 18:15:38 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-12-23 18:15:38 -0800
commit12129e6cae2e35860b097fd3080eea84e0e658ea (patch)
tree2743fc1765bb95c0b35b5f052d3b5d711cda026c /fs
parent8747044437bac3e884eb8554a8c7940d86dddbec (diff)
downloadhistory-12129e6cae2e35860b097fd3080eea84e0e658ea.tar.gz
[PATCH] reiserfs bug fix: add missing pair of lock_kernel()/unlock_kernel()
This patch adds missing lock_kernel()/unlock_kernel() pair in reiserfs_get_dentry Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/reiserfs/inode.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c
index 10a7d84d25cda0..0fb2abb9a967c4 100644
--- a/fs/reiserfs/inode.c
+++ b/fs/reiserfs/inode.c
@@ -1449,12 +1449,14 @@ struct dentry *reiserfs_get_dentry(struct super_block *sb, void *vobjp)
key.on_disk_key.k_objectid = data[0] ;
key.on_disk_key.k_dir_id = data[1] ;
+ reiserfs_write_lock(sb);
inode = reiserfs_iget(sb, &key) ;
if (inode && !IS_ERR(inode) && data[2] != 0 &&
data[2] != inode->i_generation) {
iput(inode) ;
inode = NULL ;
}
+ reiserfs_write_unlock(sb);
if (!inode)
inode = ERR_PTR(-ESTALE);
if (IS_ERR(inode))