diff options
| author | Tor Egge <tegge@FreeBSD.org> | 2007-03-13 01:50:27 +0000 |
|---|---|---|
| committer | Tor Egge <tegge@FreeBSD.org> | 2007-03-13 01:50:27 +0000 |
| commit | 61b9d89ff0a7d4c7bcea7fd083db918e16de41a5 (patch) | |
| tree | 6dca3f2c99e6dcb6402e1486118e56eb8d5e871b /sys/fs/udf/udf_vfsops.c | |
| parent | 06e83c7e86824a2bf64e797dca3cf56e60ac3e85 (diff) | |
Notes
Diffstat (limited to 'sys/fs/udf/udf_vfsops.c')
| -rw-r--r-- | sys/fs/udf/udf_vfsops.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/fs/udf/udf_vfsops.c b/sys/fs/udf/udf_vfsops.c index ee58725c45d7..262e605a3ac7 100644 --- a/sys/fs/udf/udf_vfsops.c +++ b/sys/fs/udf/udf_vfsops.c @@ -613,7 +613,13 @@ udf_vget(struct mount *mp, ino_t ino, int flags, struct vnode **vpp) unode->udfmp = udfmp; vp->v_data = unode; - error = vfs_hash_insert(vp, ino, flags, curthread, vpp, NULL, NULL); + lockmgr(vp->v_vnlock, LK_EXCLUSIVE, NULL, td); + error = insmntque(vp, mp); + if (error != 0) { + uma_zfree(udf_zone_node, unode); + return (error); + } + error = vfs_hash_insert(vp, ino, flags, td, vpp, NULL, NULL); if (error || *vpp != NULL) return (error); |
