Deleted Added
full compact
tmpfs_vnops.c (174265) tmpfs_vnops.c (175202)
1/* $NetBSD: tmpfs_vnops.c,v 1.39 2007/07/23 15:41:01 jmmv Exp $ */
2
3/*
4 * Copyright (c) 2005, 2006 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Julio M. Merino Vidal, developed as part of Google's Summer of Code

--- 27 unchanged lines hidden (view full) ---

36 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37 * POSSIBILITY OF SUCH DAMAGE.
38 */
39
40/*
41 * tmpfs vnode interface.
42 */
43#include <sys/cdefs.h>
1/* $NetBSD: tmpfs_vnops.c,v 1.39 2007/07/23 15:41:01 jmmv Exp $ */
2
3/*
4 * Copyright (c) 2005, 2006 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Julio M. Merino Vidal, developed as part of Google's Summer of Code

--- 27 unchanged lines hidden (view full) ---

36 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37 * POSSIBILITY OF SUCH DAMAGE.
38 */
39
40/*
41 * tmpfs vnode interface.
42 */
43#include <sys/cdefs.h>
44__FBSDID("$FreeBSD: head/sys/fs/tmpfs/tmpfs_vnops.c 174265 2007-12-04 20:14:15Z wkoszek $");
44__FBSDID("$FreeBSD: head/sys/fs/tmpfs/tmpfs_vnops.c 175202 2008-01-10 01:10:58Z attilio $");
45
46#include <sys/param.h>
47#include <sys/fcntl.h>
48#include <sys/lockf.h>
49#include <sys/namei.h>
50#include <sys/priv.h>
51#include <sys/proc.h>
52#include <sys/resourcevar.h>

--- 46 unchanged lines hidden (view full) ---

99
100 ltype = VOP_ISLOCKED(dvp, td);
101 vhold(dvp);
102 VOP_UNLOCK(dvp, 0, td);
103 /* Allocate a new vnode on the matching entry. */
104 error = tmpfs_alloc_vp(dvp->v_mount, dnode->tn_dir.tn_parent,
105 cnp->cn_lkflags, vpp, td);
106
45
46#include <sys/param.h>
47#include <sys/fcntl.h>
48#include <sys/lockf.h>
49#include <sys/namei.h>
50#include <sys/priv.h>
51#include <sys/proc.h>
52#include <sys/resourcevar.h>

--- 46 unchanged lines hidden (view full) ---

99
100 ltype = VOP_ISLOCKED(dvp, td);
101 vhold(dvp);
102 VOP_UNLOCK(dvp, 0, td);
103 /* Allocate a new vnode on the matching entry. */
104 error = tmpfs_alloc_vp(dvp->v_mount, dnode->tn_dir.tn_parent,
105 cnp->cn_lkflags, vpp, td);
106
107 vn_lock(dvp, ltype | LK_RETRY, td);
107 vn_lock(dvp, ltype | LK_RETRY);
108 vdrop(dvp);
109 } else if (cnp->cn_namelen == 1 && cnp->cn_nameptr[0] == '.') {
110 VREF(dvp);
111 *vpp = dvp;
112 error = 0;
113 } else {
114 de = tmpfs_dir_lookup(dnode, cnp);
115 if (de == NULL) {

--- 804 unchanged lines hidden (view full) ---

920 if (fvp == tvp) {
921 error = 0;
922 goto out;
923 }
924
925 /* If we need to move the directory between entries, lock the
926 * source so that we can safely operate on it. */
927 if (tdvp != fdvp) {
108 vdrop(dvp);
109 } else if (cnp->cn_namelen == 1 && cnp->cn_nameptr[0] == '.') {
110 VREF(dvp);
111 *vpp = dvp;
112 error = 0;
113 } else {
114 de = tmpfs_dir_lookup(dnode, cnp);
115 if (de == NULL) {

--- 804 unchanged lines hidden (view full) ---

920 if (fvp == tvp) {
921 error = 0;
922 goto out;
923 }
924
925 /* If we need to move the directory between entries, lock the
926 * source so that we can safely operate on it. */
927 if (tdvp != fdvp) {
928 error = vn_lock(fdvp, LK_EXCLUSIVE | LK_RETRY, tcnp->cn_thread);
928 error = vn_lock(fdvp, LK_EXCLUSIVE | LK_RETRY);
929 if (error != 0)
930 goto out;
931 }
932 fdnode = VP_TO_TMPFS_DIR(fdvp);
933 fnode = VP_TO_TMPFS_NODE(fvp);
934 de = tmpfs_dir_search(fdnode, fnode);
935
936 /* Avoid manipulating '.' and '..' entries. */

--- 563 unchanged lines hidden ---
929 if (error != 0)
930 goto out;
931 }
932 fdnode = VP_TO_TMPFS_DIR(fdvp);
933 fnode = VP_TO_TMPFS_NODE(fvp);
934 de = tmpfs_dir_search(fdnode, fnode);
935
936 /* Avoid manipulating '.' and '..' entries. */

--- 563 unchanged lines hidden ---