From owner-p4-projects@FreeBSD.ORG Mon Aug 2 17:57:43 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A91A41065679; Mon, 2 Aug 2010 17:57:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 532471065677 for ; Mon, 2 Aug 2010 17:57:43 +0000 (UTC) (envelope-from gpf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 37ACB8FC1A for ; Mon, 2 Aug 2010 17:57:43 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id o72HvhGY026771 for ; Mon, 2 Aug 2010 17:57:43 GMT (envelope-from gpf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id o72Hvh2h026769 for perforce@freebsd.org; Mon, 2 Aug 2010 17:57:43 GMT (envelope-from gpf@FreeBSD.org) Date: Mon, 2 Aug 2010 17:57:43 GMT Message-Id: <201008021757.o72Hvh2h026769@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gpf@FreeBSD.org using -f From: Efstratios Karatzas To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 181734 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Aug 2010 17:57:43 -0000 http://p4web.freebsd.org/@@181734?ac=10 Change 181734 by gpf@gpf_desktop on 2010/08/02 17:57:28 - minor changes for VOP_GETPARENT(9) - man pages for VOP_GETPARENT(9), VFS_FHHINT(9) & vn_fullpath_nocache(9). Note that these man pages are not formatted, just plain text and that's why I'm adding them to the base of my depot path. Feel free to comment! I'll give my nonexistant mdoc skills a chance in a week or so, at which point the man pages will be placed at the correct location. - man page update for VOP_VPTOFH(9) Affected files ... .. //depot/projects/soc2010/gpf_audit/freebsd/src/share/man/man9/VOP_VPTOFH.9#2 edit .. //depot/projects/soc2010/gpf_audit/freebsd/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 edit .. //depot/projects/soc2010/gpf_audit/freebsd/src/sys/ufs/ffs/ffs_vnops.c#9 edit .. //depot/projects/soc2010/gpf_audit/vfs_fhhint.txt#1 add .. //depot/projects/soc2010/gpf_audit/vn_fullpath_nocache.txt#1 add .. //depot/projects/soc2010/gpf_audit/vop_getparent.txt#1 add Differences ... ==== //depot/projects/soc2010/gpf_audit/freebsd/src/share/man/man9/VOP_VPTOFH.9#2 (text+ko) ==== @@ -38,7 +38,7 @@ .In sys/param.h .In sys/vnode.h .Ft int -.Fn VOP_VPTOFH "struct vnode *vp" "struct fid *fhp" +.Fn VOP_VPTOFH "struct vnode *vp" "struct fid *fhp" "struct vnode *dvp" .Sh DESCRIPTION This is used by the NFS server to create an opaque filehandle which uniquely identifies the file and which can be used by an NFS client @@ -50,10 +50,15 @@ The vnode to make a filehandle for. .It Fa fhp Return parameter for the filehandle. +.It Fa dvp +The directory vnode that contains a dirent for vp, NULL otherwise. +This is used to store a hint that will facilitate the work of +.Xr vn_fullpath_nocache 9 . .El .Sh SEE ALSO .Xr VFS 9 , .Xr VFS_FHTOVP 9 , +.Xr vn_fullpath_nocache 9 , .Xr vnode 9 .Sh AUTHORS This manual page was written by ==== //depot/projects/soc2010/gpf_audit/freebsd/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 (text+ko) ==== @@ -5081,7 +5081,7 @@ len = strlen(pch); if (len >= *(ap->a_buflen)) { - error = EOVERFLOW; + error = ENOMEM; goto out; } ==== //depot/projects/soc2010/gpf_audit/freebsd/src/sys/ufs/ffs/ffs_vnops.c#9 (text+ko) ==== @@ -1892,7 +1892,7 @@ len = strlen(pch); if (len >= *namelen) { - error = EOVERFLOW; + error = ENOMEM; goto out; } @@ -2018,8 +2018,8 @@ } /* - * if our target is not a directory and we haven't found 'a' parent directory, - * do an exhaustive search on the filesystem + * if owe haven't found 'a' parent directory, do an exhaustive search on + * the filesystem */ if ((flags & EXHAUSTSEARCH) && dvp == NULL) { error = VFS_VGET(mp, ROOTINO, LK_SHARED, &startdvp); @@ -2030,14 +2030,12 @@ vput(startdvp); } } - if (error) { + else error = ENOENT; - } } /* we failed to find a directory that contains the vnode, exit */ - else if (dvp == NULL) { + else if (dvp == NULL) error = ENOENT; - } out: if (error == 0 && dvp != NULL)