From owner-svn-src-stable-7@FreeBSD.ORG Wed May 20 20:08:51 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 903D8106566B; Wed, 20 May 2009 20:08:51 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 643588FC0A; Wed, 20 May 2009 20:08:51 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n4KK8p1u042357; Wed, 20 May 2009 20:08:51 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n4KK8p2E042355; Wed, 20 May 2009 20:08:51 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200905202008.n4KK8p2E042355@svn.freebsd.org> From: Kip Macy Date: Wed, 20 May 2009 20:08:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r192471 - stable/7/sys/sys X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 May 2009 20:08:52 -0000 Author: kmacy Date: Wed May 20 20:08:51 2009 New Revision: 192471 URL: http://svn.freebsd.org/changeset/base/192471 Log: MFC NDINIT macros without changing the size of nameidata Modified: stable/7/sys/sys/fcntl.h stable/7/sys/sys/namei.h Modified: stable/7/sys/sys/fcntl.h ============================================================================== --- stable/7/sys/sys/fcntl.h Wed May 20 20:05:56 2009 (r192470) +++ stable/7/sys/sys/fcntl.h Wed May 20 20:08:51 2009 (r192471) @@ -105,6 +105,12 @@ typedef __pid_t pid_t; #ifdef _KERNEL #define FHASLOCK 0x4000 /* descriptor holds advisory lock */ #endif +/* + * Magic value that specify the use of the current working directory + * to determine the target of relative file paths in the openat() and + * similar syscalls. + */ +#define AT_FDCWD -100 /* Defined by POSIX 1003.1; BSD default, but must be distinct from O_RDONLY. */ #define O_NOCTTY 0x8000 /* don't assign controlling terminal */ Modified: stable/7/sys/sys/namei.h ============================================================================== --- stable/7/sys/sys/namei.h Wed May 20 20:05:56 2009 (r192470) +++ stable/7/sys/sys/namei.h Wed May 20 20:08:51 2009 (r192471) @@ -86,6 +86,9 @@ struct nameidata { * through the VOP interface. */ struct componentname ni_cnd; +#ifdef notyet + int ni_dirfd; /* starting directory for *at functions */ +#endif }; #ifdef _KERNEL @@ -148,20 +151,31 @@ struct nameidata { /* * Initialization of a nameidata structure. */ -static void NDINIT(struct nameidata *, u_long, u_long, enum uio_seg, - const char *, struct thread *); +#define NDINIT(ndp, op, flags, segflg, namep, td) \ + NDINIT_ALL(ndp, op, flags, segflg, namep, AT_FDCWD, NULL, td) +#define NDINIT_AT(ndp, op, flags, segflg, namep, dirfd, td) \ + NDINIT_ALL(ndp, op, flags, segflg, namep, dirfd, NULL, td) +#define NDINIT_ATVP(ndp, op, flags, segflg, namep, vp, td) \ + NDINIT_ALL(ndp, op, flags, segflg, namep, AT_FDCWD, vp, td) + static __inline void -NDINIT(struct nameidata *ndp, +NDINIT_ALL(struct nameidata *ndp, u_long op, u_long flags, enum uio_seg segflg, const char *namep, + int dirfd, + struct vnode *startdir, struct thread *td) { ndp->ni_cnd.cn_nameiop = op; ndp->ni_cnd.cn_flags = flags; ndp->ni_segflg = segflg; ndp->ni_dirp = namep; + ndp->ni_startdir = startdir; ndp->ni_cnd.cn_thread = td; +#ifdef notyet + ndp->ni_dirfd = dirfd; +#endif } #define NDF_NO_DVP_RELE 0x00000001