udf_vnops.c (104005) | udf_vnops.c (105077) |
---|---|
1/*- 2 * Copyright (c) 2001, 2002 Scott Long <scottl@freebsd.org> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * | 1/*- 2 * Copyright (c) 2001, 2002 Scott Long <scottl@freebsd.org> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * |
26 * $FreeBSD: head/sys/fs/udf/udf_vnops.c 104005 2002-09-26 14:08:37Z phk $ | 26 * $FreeBSD: head/sys/fs/udf/udf_vnops.c 105077 2002-10-14 03:20:36Z mckusick $ |
27 */ 28 29/* udf_vnops.c */ 30/* Take care of the vnode side of things */ 31 32#include <sys/param.h> 33#include <sys/systm.h> 34#include <sys/namei.h> --- 95 unchanged lines hidden (view full) --- 130{ 131 struct udf_mnt *udfmp; 132 133 udfmp = node->udfmp; 134 135 mtx_lock(&udfmp->hash_mtx); 136 TAILQ_INSERT_TAIL(&udfmp->udf_tqh, node, tq); 137 mtx_unlock(&udfmp->hash_mtx); | 27 */ 28 29/* udf_vnops.c */ 30/* Take care of the vnode side of things */ 31 32#include <sys/param.h> 33#include <sys/systm.h> 34#include <sys/namei.h> --- 95 unchanged lines hidden (view full) --- 130{ 131 struct udf_mnt *udfmp; 132 133 udfmp = node->udfmp; 134 135 mtx_lock(&udfmp->hash_mtx); 136 TAILQ_INSERT_TAIL(&udfmp->udf_tqh, node, tq); 137 mtx_unlock(&udfmp->hash_mtx); |
138 lockmgr(&node->i_vnode->v_lock, LK_EXCLUSIVE, (struct mtx *)0, 139 curthread); | 138 vn_lock(node->i_vnode, LK_EXCLUSIVE | LK_RETRY, curthread); |
140 141 return (0); 142} 143 144int 145udf_hashrem(struct udf_node *node) 146{ 147 struct udf_mnt *udfmp; --- 875 unchanged lines hidden (view full) --- 1023 udf_hashrem(unode); 1024 if (unode->i_devvp) { 1025 vrele(unode->i_devvp); 1026 unode->i_devvp = 0; 1027 } 1028 1029 if (unode->fentry != NULL) 1030 FREE(unode->fentry, M_UDFFENTRY); | 139 140 return (0); 141} 142 143int 144udf_hashrem(struct udf_node *node) 145{ 146 struct udf_mnt *udfmp; --- 875 unchanged lines hidden (view full) --- 1022 udf_hashrem(unode); 1023 if (unode->i_devvp) { 1024 vrele(unode->i_devvp); 1025 unode->i_devvp = 0; 1026 } 1027 1028 if (unode->fentry != NULL) 1029 FREE(unode->fentry, M_UDFFENTRY); |
1031 lockdestroy(&unode->i_vnode->v_lock); | |
1032 uma_zfree(udf_zone_node, unode); 1033 vp->v_data = NULL; 1034 } 1035 1036 return (0); 1037} 1038 1039/* --- 167 unchanged lines hidden --- | 1030 uma_zfree(udf_zone_node, unode); 1031 vp->v_data = NULL; 1032 } 1033 1034 return (0); 1035} 1036 1037/* --- 167 unchanged lines hidden --- |