diff options
Diffstat (limited to 'sys/gnu/fs/reiserfs/reiserfs_inode.c')
-rw-r--r-- | sys/gnu/fs/reiserfs/reiserfs_inode.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/gnu/fs/reiserfs/reiserfs_inode.c b/sys/gnu/fs/reiserfs/reiserfs_inode.c index ece4a75..3eddd84 100644 --- a/sys/gnu/fs/reiserfs/reiserfs_inode.c +++ b/sys/gnu/fs/reiserfs/reiserfs_inode.c @@ -815,6 +815,14 @@ reiserfs_iget( lockmgr(vp->v_vnlock, LK_EXCLUSIVE, (struct mtx *)0, td); #endif + lockmgr(vp->v_vnlock, LK_EXCLUSIVE, NULL, td); + error = insmntque(vp, mp); + if (error != 0) { + free(ip, M_REISERFSNODE); + *vpp = NULL; + reiserfs_log(LOG_DEBUG, "insmntque FAILED\n"); + return (error); + } error = vfs_hash_insert(vp, key->on_disk_key.k_objectid, flags, td, vpp, NULL, NULL); if (error || *vpp != NULL) |