diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-02-15 19:51:45 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-02-15 19:51:45 -0800 |
commit | 0aa2ca9ae1e08d11661abb00ae6e75ff885448d6 (patch) | |
tree | a770d55fd53b2658501672b5c0893cc1d91d5a07 /fs | |
parent | 76212a840f6edc2b89865f09464f3bd90125896d (diff) | |
parent | 175359f89df39f4faed663c8cfd6ee0222d2fa1e (diff) |
Merge branch 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing
* 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:
reiserfs: Fix softlockup while waiting on an inode
Diffstat (limited to 'fs')
-rw-r--r-- | fs/reiserfs/inode.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c index 9087b10209e6..2df0f5c7c60b 100644 --- a/fs/reiserfs/inode.c +++ b/fs/reiserfs/inode.c @@ -1497,9 +1497,11 @@ struct inode *reiserfs_iget(struct super_block *s, const struct cpu_key *key) args.objectid = key->on_disk_key.k_objectid; args.dirid = key->on_disk_key.k_dir_id; + reiserfs_write_unlock(s); inode = iget5_locked(s, key->on_disk_key.k_objectid, reiserfs_find_actor, reiserfs_init_locked_inode, (void *)(&args)); + reiserfs_write_lock(s); if (!inode) return ERR_PTR(-ENOMEM); |