From owner-svn-src-stable-8@FreeBSD.ORG Tue Jun 1 15:11:18 2010 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 662641065673; Tue, 1 Jun 2010 15:11:18 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id F35618FC15; Tue, 1 Jun 2010 15:11:17 +0000 (UTC) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id A620746C0A; Tue, 1 Jun 2010 11:11:17 -0400 (EDT) Date: Tue, 1 Jun 2010 16:11:17 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org In-Reply-To: <201006011429.o51ETR31057223@svn.freebsd.org> Message-ID: References: <201006011429.o51ETR31057223@svn.freebsd.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Subject: Re: svn commit: r208702 - stable/8/sys/fs/coda X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jun 2010 15:11:18 -0000 On Tue, 1 Jun 2010, Robert Watson wrote: > Log: > Merge r206210 from head to stable/7: Should, of course, read stable/8... Robert > > Synchronize Coda kernel module definitions in our coda.h to Coda 6's > coda.h: > > - CodaFid typdef -> struct CodaFid throughout. > - Use unsigned int instead of unsigned long for venus_dirent and other > cosmetic fixes. > - Introduce cuid_t and cgid_t and use instead of uid_t and gid_t in RPCs. > - Synchronize comments and macros. > - Use u_int32_t instead of unsigned long for coda_out_hdr. > > With these changes, a 64-bit Coda kernel module now works with > coda6_client, whereas previous userspace and kernel versions of RPCs > differed sufficiently to prevent using the file system. This has been > verified only with casual testing, but /coda is now usable for at least > basic operations on amd64. > > Approved by: re (kensmith) > > Modified: > stable/8/sys/fs/coda/cnode.h > stable/8/sys/fs/coda/coda.h > stable/8/sys/fs/coda/coda_subr.c > stable/8/sys/fs/coda/coda_subr.h > stable/8/sys/fs/coda/coda_venus.c > stable/8/sys/fs/coda/coda_venus.h > stable/8/sys/fs/coda/coda_vfsops.c > stable/8/sys/fs/coda/coda_vfsops.h > stable/8/sys/fs/coda/coda_vnops.c > Directory Properties: > stable/8/sys/ (props changed) > stable/8/sys/amd64/include/xen/ (props changed) > stable/8/sys/cddl/contrib/opensolaris/ (props changed) > stable/8/sys/contrib/dev/acpica/ (props changed) > stable/8/sys/contrib/pf/ (props changed) > stable/8/sys/dev/xen/xenpci/ (props changed) > stable/8/sys/geom/sched/ (props changed) > > Modified: stable/8/sys/fs/coda/cnode.h > ============================================================================== > --- stable/8/sys/fs/coda/cnode.h Tue Jun 1 14:26:27 2010 (r208701) > +++ stable/8/sys/fs/coda/cnode.h Tue Jun 1 14:29:26 2010 (r208702) > @@ -94,7 +94,7 @@ extern int coda_vfsop_print_entry; > struct cnode { > struct vnode *c_vnode; > u_short c_flags; /* flags (see below) */ > - CodaFid c_fid; /* file handle */ > + struct CodaFid c_fid; /* file handle */ > struct vnode *c_ovp; /* open vnode pointer */ > u_short c_ocount; /* count of openers */ > u_short c_owrite; /* count of open for write */ > @@ -196,7 +196,8 @@ void coda_unmounting(struct mount *whoIa > int coda_vmflush(struct cnode *cp); > > /* cfs_vnodeops.h */ > -struct cnode *make_coda_node(CodaFid *fid, struct mount *vfsp, short type); > +struct cnode *make_coda_node(struct CodaFid *fid, struct mount *vfsp, > + short type); > int coda_vnodeopstats_init(void); > > /* sigh */ > > Modified: stable/8/sys/fs/coda/coda.h > ============================================================================== > --- stable/8/sys/fs/coda/coda.h Tue Jun 1 14:26:27 2010 (r208701) > +++ stable/8/sys/fs/coda/coda.h Tue Jun 1 14:29:26 2010 (r208702) > @@ -103,6 +103,8 @@ struct timespec { > }; > #endif > > +typedef u_int32_t cuid_t; > +typedef u_int32_t cgid_t; > > /* > * Cfs constants > @@ -132,14 +134,13 @@ struct timespec { > #define C_A_F_OK 0 /* Test for existence. */ > > > - > #ifndef _VENUS_DIRENT_T_ > #define _VENUS_DIRENT_T_ 1 > struct venus_dirent { > - unsigned long d_fileno; /* file number of entry */ > + unsigned int d_fileno; /* file number of entry */ > unsigned short d_reclen; /* length of this record */ > - char d_type; /* file type, see below */ > - char d_namlen; /* length of string in d_name */ > + unsigned char d_type; /* file type, see below */ > + unsigned char d_namlen; /* length of string in d_name */ > char d_name[CODA_MAXNAMLEN + 1];/* name must be no longer than this */ > }; > #undef DIRSIZ > @@ -169,19 +170,19 @@ struct venus_dirent { > > #ifdef CODA_COMPAT_5 > > -typedef struct { > +struct CodaFid { > u_long Volume; > u_long Vnode; > u_long Unique; > -} CodaFid; > +}; > > -static __inline__ ino_t coda_f2i(CodaFid *fid) > +static __inline__ ino_t coda_f2i(struct CodaFid *fid) > { > if (!fid) return 0; > return (fid->Unique + (fid->Vnode<<10) + (fid->Volume<<20)); > } > > -static __inline__ char * coda_f2s(CodaFid *fid) > +static __inline__ char * coda_f2s(struct CodaFid *fid) > { > static char fid_str [35]; > snprintf (fid_str, 35, "[%lx.%lx.%lx]", fid->Volume, > @@ -189,7 +190,7 @@ static __inline__ char * coda_f2s(CodaFi > return fid_str; > } > > -static __inline__ int coda_fid_eq (CodaFid *fid1, CodaFid *fid2) > +static __inline__ int coda_fid_eq (struct CodaFid *fid1, struct CodaFid *fid2) > { > return (fid1->Volume == fid2->Volume && > fid1->Vnode == fid2->Vnode && > @@ -203,18 +204,18 @@ struct coda_cred { > > #else /* CODA_COMPAT_5 */ > > -typedef struct { > +struct CodaFid { > u_int32_t opaque[4]; > -} CodaFid; > +}; > > -static __inline__ ino_t coda_f2i(CodaFid *fid) > +static __inline__ ino_t coda_f2i(struct CodaFid *fid) > { > if ( ! fid ) > return 0; > return (fid->opaque[3] ^ (fid->opaque[2]<<10) ^ (fid->opaque[1]<<20) ^ fid->opaque[0]); > } > > -static __inline__ char * coda_f2s(CodaFid *fid) > +static __inline__ char * coda_f2s(struct CodaFid *fid) > { > static char fid_str [35]; > snprintf (fid_str, 35, "[%x.%x.%x.%x]", fid->opaque[0], > @@ -222,7 +223,7 @@ static __inline__ char * coda_f2s(CodaFi > return fid_str; > } > > -static __inline__ int coda_fid_eq (CodaFid *fid1, CodaFid *fid2) > +static __inline__ int coda_fid_eq (struct CodaFid *fid1, struct CodaFid *fid2) > { > return (fid1->opaque[0] == fid2->opaque[0] && > fid1->opaque[1] == fid2->opaque[1] && > @@ -240,11 +241,11 @@ static __inline__ int coda_fid_eq (CodaF > enum coda_vtype { C_VNON, C_VREG, C_VDIR, C_VBLK, C_VCHR, C_VLNK, C_VSOCK, C_VFIFO, C_VBAD }; > > struct coda_vattr { > - int va_type; /* vnode type (for create) */ > + long va_type; /* vnode type (for create) */ > u_short va_mode; /* files access mode and type */ > short va_nlink; /* number of references to file */ > - uid_t va_uid; /* owner user id */ > - gid_t va_gid; /* owner group id */ > + cuid_t va_uid; /* owner user id */ > + cgid_t va_gid; /* owner group id */ > long va_fileid; /* file id */ > u_quad_t va_size; /* file size in bytes */ > long va_blocksize; /* blocksize preferred for i/o */ > @@ -344,23 +345,23 @@ struct coda_in_hdr { > struct coda_in_hdr { > u_int32_t opcode; > u_int32_t unique; /* Keep multiple outstanding msgs distinct */ > - pid_t pid; /* Common to all */ > - pid_t pgid; /* Common to all */ > - uid_t uid; /* Common to all */ > + pid_t pid; > + pid_t pgid; > + cuid_t uid; > }; > #endif > > /* Really important that opcode and unique are 1st two fields! */ > struct coda_out_hdr { > - unsigned long opcode; > - unsigned long unique; > - unsigned long result; > + u_int32_t opcode; > + u_int32_t unique; > + u_int32_t result; > }; > > /* coda_root: NO_IN */ > struct coda_root_out { > struct coda_out_hdr oh; > - CodaFid Fid; > + struct CodaFid Fid; > }; > > struct coda_root_in { > @@ -373,7 +374,7 @@ struct coda_root_in { > /* coda_open: */ > struct coda_open_in { > struct coda_in_hdr ih; > - CodaFid Fid; > + struct CodaFid Fid; > int flags; > }; > > @@ -387,7 +388,7 @@ struct coda_open_out { > /* coda_close: */ > struct coda_close_in { > struct coda_in_hdr ih; > - CodaFid Fid; > + struct CodaFid Fid; > int flags; > }; > > @@ -398,7 +399,7 @@ struct coda_close_out { > /* coda_ioctl: */ > struct coda_ioctl_in { > struct coda_in_hdr ih; > - CodaFid Fid; > + struct CodaFid Fid; > int cmd; > int len; > int rwflag; > @@ -415,7 +416,7 @@ struct coda_ioctl_out { > /* coda_getattr: */ > struct coda_getattr_in { > struct coda_in_hdr ih; > - CodaFid Fid; > + struct CodaFid Fid; > }; > > struct coda_getattr_out { > @@ -427,7 +428,7 @@ struct coda_getattr_out { > /* coda_setattr: NO_OUT */ > struct coda_setattr_in { > struct coda_in_hdr ih; > - CodaFid Fid; > + struct CodaFid Fid; > struct coda_vattr attr; > }; > > @@ -438,7 +439,7 @@ struct coda_setattr_out { > /* coda_access: NO_OUT */ > struct coda_access_in { > struct coda_in_hdr ih; > - CodaFid Fid; > + struct CodaFid Fid; > int flags; > }; > > @@ -454,14 +455,14 @@ struct coda_access_out { > /* coda_lookup: */ > struct coda_lookup_in { > struct coda_in_hdr ih; > - CodaFid Fid; > + struct CodaFid Fid; > int name; /* Place holder for data. */ > int flags; > }; > > struct coda_lookup_out { > struct coda_out_hdr oh; > - CodaFid Fid; > + struct CodaFid Fid; > int vtype; > }; > > @@ -469,7 +470,7 @@ struct coda_lookup_out { > /* coda_create: */ > struct coda_create_in { > struct coda_in_hdr ih; > - CodaFid Fid; > + struct CodaFid Fid; > struct coda_vattr attr; > int excl; > int mode; > @@ -478,7 +479,7 @@ struct coda_create_in { > > struct coda_create_out { > struct coda_out_hdr oh; > - CodaFid Fid; > + struct CodaFid Fid; > struct coda_vattr attr; > }; > > @@ -486,7 +487,7 @@ struct coda_create_out { > /* coda_remove: NO_OUT */ > struct coda_remove_in { > struct coda_in_hdr ih; > - CodaFid Fid; > + struct CodaFid Fid; > int name; /* Place holder for data. */ > }; > > @@ -497,8 +498,8 @@ struct coda_remove_out { > /* coda_link: NO_OUT */ > struct coda_link_in { > struct coda_in_hdr ih; > - CodaFid sourceFid; /* cnode to link *to* */ > - CodaFid destFid; /* Directory in which to place link */ > + struct CodaFid sourceFid; /* cnode to link *to* */ > + struct CodaFid destFid; /* Directory in which to place link */ > int tname; /* Place holder for data. */ > }; > > @@ -510,9 +511,9 @@ struct coda_link_out { > /* coda_rename: NO_OUT */ > struct coda_rename_in { > struct coda_in_hdr ih; > - CodaFid sourceFid; > + struct CodaFid sourceFid; > int srcname; > - CodaFid destFid; > + struct CodaFid destFid; > int destname; > }; > > @@ -523,14 +524,14 @@ struct coda_rename_out { > /* coda_mkdir: */ > struct coda_mkdir_in { > struct coda_in_hdr ih; > - CodaFid Fid; > + struct CodaFid Fid; > struct coda_vattr attr; > int name; /* Place holder for data. */ > }; > > struct coda_mkdir_out { > struct coda_out_hdr oh; > - CodaFid Fid; > + struct CodaFid Fid; > struct coda_vattr attr; > }; > > @@ -538,7 +539,7 @@ struct coda_mkdir_out { > /* coda_rmdir: NO_OUT */ > struct coda_rmdir_in { > struct coda_in_hdr ih; > - CodaFid Fid; > + struct CodaFid Fid; > int name; /* Place holder for data. */ > }; > > @@ -549,7 +550,7 @@ struct coda_rmdir_out { > /* coda_readdir: */ > struct coda_readdir_in { > struct coda_in_hdr ih; > - CodaFid Fid; > + struct CodaFid Fid; > int count; > int offset; > }; > @@ -563,7 +564,7 @@ struct coda_readdir_out { > /* coda_symlink: NO_OUT */ > struct coda_symlink_in { > struct coda_in_hdr ih; > - CodaFid Fid; /* Directory to put symlink in */ > + struct CodaFid Fid; /* Directory to put symlink in */ > int srcname; > struct coda_vattr attr; > int tname; > @@ -576,7 +577,7 @@ struct coda_symlink_out { > /* coda_readlink: */ > struct coda_readlink_in { > struct coda_in_hdr ih; > - CodaFid Fid; > + struct CodaFid Fid; > }; > > struct coda_readlink_out { > @@ -589,7 +590,7 @@ struct coda_readlink_out { > /* coda_fsync: NO_OUT */ > struct coda_fsync_in { > struct coda_in_hdr ih; > - CodaFid Fid; > + struct CodaFid Fid; > }; > > struct coda_fsync_out { > @@ -599,18 +600,18 @@ struct coda_fsync_out { > /* coda_inactive: NO_OUT */ > struct coda_inactive_in { > struct coda_in_hdr ih; > - CodaFid Fid; > + struct CodaFid Fid; > }; > > /* coda_vget: */ > struct coda_vget_in { > struct coda_in_hdr ih; > - CodaFid Fid; > + struct CodaFid Fid; > }; > > struct coda_vget_out { > struct coda_out_hdr oh; > - CodaFid Fid; > + struct CodaFid Fid; > int vtype; > }; > > @@ -626,7 +627,7 @@ struct coda_purgeuser_out { > #ifdef CODA_COMPAT_5 > struct coda_cred cred; > #else > - uid_t uid; > + cuid_t uid; > #endif > }; > > @@ -634,14 +635,14 @@ struct coda_purgeuser_out { > /* CODA_ZAPFILE is a venus->kernel call */ > struct coda_zapfile_out { > struct coda_out_hdr oh; > - CodaFid Fid; > + struct CodaFid Fid; > }; > > /* coda_zapdir: */ > /* CODA_ZAPDIR is a venus->kernel call */ > struct coda_zapdir_out { > struct coda_out_hdr oh; > - CodaFid Fid; > + struct CodaFid Fid; > }; > > /* coda_zapnode: */ > @@ -651,41 +652,44 @@ struct coda_zapvnode_out { > #ifdef CODA_COMPAT_5 > struct coda_cred cred; > #endif > - CodaFid Fid; > + struct CodaFid Fid; > }; > > /* coda_purgefid: */ > /* CODA_PURGEFID is a venus->kernel call */ > struct coda_purgefid_out { > struct coda_out_hdr oh; > - CodaFid Fid; > + struct CodaFid Fid; > }; > > /* coda_replace: */ > /* CODA_REPLACE is a venus->kernel call */ > struct coda_replace_out { /* coda_replace is a venus->kernel call */ > struct coda_out_hdr oh; > - CodaFid NewFid; > - CodaFid OldFid; > + struct CodaFid NewFid; > + struct CodaFid OldFid; > }; > > /* coda_open_by_fd: */ > struct coda_open_by_fd_in { > struct coda_in_hdr ih; > - CodaFid Fid; > + struct CodaFid Fid; > int flags; > }; > > struct coda_open_by_fd_out { > struct coda_out_hdr oh; > int fd; > +#ifdef _KERNEL > + /* not passed from userspace but used in-kernel only */ > struct vnode *vp; > +#endif > }; > > /* coda_open_by_path: */ > struct coda_open_by_path_in { > struct coda_in_hdr ih; > - CodaFid Fid; > + struct CodaFid Fid; > int flags; > }; > > @@ -799,6 +803,9 @@ struct PioctlData { > > #define CODA_CONTROL ".CONTROL" > #define CODA_CONTROLLEN 8 > +#define CTL_VOL -1 > +#define CTL_VNO -1 > +#define CTL_UNI -1 > #define CTL_INO -1 > #define CTL_FILE "/coda/.CONTROL" > > @@ -810,10 +817,9 @@ struct PioctlData { > #define INVAL_FID { 0, 0, 0 } > #else > #define CTL_FID { { -1, -1, -1, -1 } } > -#define IS_CTL_FID(fidp) ((fidp)->opaque[0] == -1 &&\ > - (fidp)->opaque[1] == -1 &&\ > - (fidp)->opaque[2] == -1 &&\ > - (fidp)->opaque[3] == -1) > +#define IS_CTL_FID(fidp) ((fidp)->opaque[1] == CTL_VOL && \ > + (fidp)->opaque[2] == CTL_VNO && \ > + (fidp)->opaque[3] == CTL_UNI) > #define INVAL_FID { { 0, 0, 0, 0 } } > #endif > > > Modified: stable/8/sys/fs/coda/coda_subr.c > ============================================================================== > --- stable/8/sys/fs/coda/coda_subr.c Tue Jun 1 14:26:27 2010 (r208701) > +++ stable/8/sys/fs/coda/coda_subr.c Tue Jun 1 14:29:26 2010 (r208702) > @@ -164,7 +164,7 @@ coda_unsave(struct cnode *cp) > * NOTE: this allows multiple cnodes with same fid -- dcs 1/25/95 > */ > struct cnode * > -coda_find(CodaFid *fid) > +coda_find(struct CodaFid *fid) > { > struct cnode *cp; > > > Modified: stable/8/sys/fs/coda/coda_subr.h > ============================================================================== > --- stable/8/sys/fs/coda/coda_subr.h Tue Jun 1 14:26:27 2010 (r208701) > +++ stable/8/sys/fs/coda/coda_subr.h Tue Jun 1 14:29:26 2010 (r208702) > @@ -35,7 +35,7 @@ > > struct cnode *coda_alloc(void); > void coda_free(struct cnode *cp); > -struct cnode *coda_find(CodaFid *fid); > +struct cnode *coda_find(struct CodaFid *fid); > void coda_flush(struct coda_mntinfo *mnt, enum dc_status dcstat); > void coda_testflush(void); > void coda_checkunmounting(struct mount *mp); > > Modified: stable/8/sys/fs/coda/coda_venus.c > ============================================================================== > --- stable/8/sys/fs/coda/coda_venus.c Tue Jun 1 14:26:27 2010 (r208701) > +++ stable/8/sys/fs/coda/coda_venus.c Tue Jun 1 14:29:26 2010 (r208702) > @@ -177,7 +177,7 @@ int coda_kernel_version = CODA_KERNEL_VE > > int > venus_root(void *mdp, struct ucred *cred, struct proc *p, > - /*out*/ CodaFid *VFid) > + /*out*/ struct CodaFid *VFid) > { > DECL_NO_IN(coda_root); /* sets Isize & Osize */ > ALLOC_NO_IN(coda_root); /* sets inp & outp */ > @@ -194,7 +194,7 @@ venus_root(void *mdp, struct ucred *cred > } > > int > -venus_open(void *mdp, CodaFid *fid, int flag, struct ucred *cred, > +venus_open(void *mdp, struct CodaFid *fid, int flag, struct ucred *cred, > struct proc *p, /*out*/ struct vnode **vp) > { > int cflag; > @@ -215,7 +215,7 @@ venus_open(void *mdp, CodaFid *fid, int > } > > int > -venus_close(void *mdp, CodaFid *fid, int flag, struct ucred *cred, > +venus_close(void *mdp, struct CodaFid *fid, int flag, struct ucred *cred, > struct proc *p) > { > int cflag; > @@ -252,7 +252,7 @@ venus_write(void) > * normal files. > */ > int > -venus_ioctl(void *mdp, CodaFid *fid, int com, int flag, caddr_t data, > +venus_ioctl(void *mdp, struct CodaFid *fid, int com, int flag, caddr_t data, > struct ucred *cred, struct proc *p) > { > DECL(coda_ioctl); /* sets Isize & Osize */ > @@ -304,7 +304,8 @@ venus_ioctl(void *mdp, CodaFid *fid, int > } > > int > -venus_getattr(void *mdp, CodaFid *fid, struct ucred *cred, struct vattr *vap) > +venus_getattr(void *mdp, struct CodaFid *fid, struct ucred *cred, > + struct vattr *vap) > { > struct proc *p; > DECL(coda_getattr); /* sets Isize & Osize */ > @@ -326,7 +327,8 @@ venus_getattr(void *mdp, CodaFid *fid, s > } > > int > -venus_setattr(void *mdp, CodaFid *fid, struct vattr *vap, struct ucred *cred) > +venus_setattr(void *mdp, struct CodaFid *fid, struct vattr *vap, > + struct ucred *cred) > { > struct proc *p; > DECL_NO_OUT(coda_setattr); /* sets Isize & Osize */ > @@ -347,8 +349,8 @@ venus_setattr(void *mdp, CodaFid *fid, s > } > > int > -venus_access(void *mdp, CodaFid *fid, accmode_t accmode, struct ucred *cred, > - struct proc *p) > +venus_access(void *mdp, struct CodaFid *fid, accmode_t accmode, > + struct ucred *cred, struct proc *p) > { > DECL_NO_OUT(coda_access); /* sets Isize & Osize */ > ALLOC_NO_OUT(coda_access); /* sets inp & outp */ > @@ -374,8 +376,8 @@ venus_access(void *mdp, CodaFid *fid, ac > } > > int > -venus_readlink(void *mdp, CodaFid *fid, struct ucred *cred, struct proc *p, > - /*out*/ char **str, int *len) > +venus_readlink(void *mdp, struct CodaFid *fid, struct ucred *cred, > + struct proc *p, /*out*/ char **str, int *len) > { > DECL(coda_readlink); /* sets Isize & Osize */ > coda_readlink_size += CODA_MAXPATHLEN; > @@ -400,7 +402,7 @@ venus_readlink(void *mdp, CodaFid *fid, > } > > int > -venus_fsync(void *mdp, CodaFid *fid, struct proc *p) > +venus_fsync(void *mdp, struct CodaFid *fid, struct proc *p) > { > DECL_NO_OUT(coda_fsync); /* sets Isize & Osize */ > ALLOC_NO_OUT(coda_fsync); /* sets inp & outp */ > @@ -420,8 +422,9 @@ venus_fsync(void *mdp, CodaFid *fid, str > } > > int > -venus_lookup(void *mdp, CodaFid *fid, const char *nm, int len, > - struct ucred *cred, struct proc *p, /*out*/ CodaFid *VFid, int *vtype) > +venus_lookup(void *mdp, struct CodaFid *fid, const char *nm, int len, > + struct ucred *cred, struct proc *p, /*out*/ struct CodaFid *VFid, > + int *vtype) > { > DECL(coda_lookup); /* sets Isize & Osize */ > coda_lookup_size += len + 1; > @@ -457,9 +460,9 @@ venus_lookup(void *mdp, CodaFid *fid, co > } > > int > -venus_create(void *mdp, CodaFid *fid, const char *nm, int len, int exclusive, > - int mode, struct vattr *va, struct ucred *cred, struct proc *p, > - /*out*/ CodaFid *VFid, struct vattr *attr) > +venus_create(void *mdp, struct CodaFid *fid, const char *nm, int len, > + int exclusive, int mode, struct vattr *va, struct ucred *cred, > + struct proc *p, /*out*/ struct CodaFid *VFid, struct vattr *attr) > { > DECL(coda_create); /* sets Isize & Osize */ > coda_create_size += len + 1; > @@ -488,7 +491,7 @@ venus_create(void *mdp, CodaFid *fid, co > } > > int > -venus_remove(void *mdp, CodaFid *fid, const char *nm, int len, > +venus_remove(void *mdp, struct CodaFid *fid, const char *nm, int len, > struct ucred *cred, struct proc *p) > { > DECL_NO_OUT(coda_remove); /* sets Isize & Osize */ > @@ -511,8 +514,8 @@ venus_remove(void *mdp, CodaFid *fid, co > } > > int > -venus_link(void *mdp, CodaFid *fid, CodaFid *tfid, const char *nm, int len, > - struct ucred *cred, struct proc *p) > +venus_link(void *mdp, struct CodaFid *fid, struct CodaFid *tfid, > + const char *nm, int len, struct ucred *cred, struct proc *p) > { > DECL_NO_OUT(coda_link); /* sets Isize & Osize */ > coda_link_size += len + 1; > @@ -535,8 +538,9 @@ venus_link(void *mdp, CodaFid *fid, Coda > } > > int > -venus_rename(void *mdp, CodaFid *fid, CodaFid *tfid, const char *nm, int len, > - const char *tnm, int tlen, struct ucred *cred, struct proc *p) > +venus_rename(void *mdp, struct CodaFid *fid, struct CodaFid *tfid, > + const char *nm, int len, const char *tnm, int tlen, struct ucred *cred, > + struct proc *p) > { > DECL_NO_OUT(coda_rename); /* sets Isize & Osize */ > coda_rename_size += len + 1 + tlen + 1; > @@ -562,9 +566,9 @@ venus_rename(void *mdp, CodaFid *fid, Co > } > > int > -venus_mkdir(void *mdp, CodaFid *fid, const char *nm, int len, > +venus_mkdir(void *mdp, struct CodaFid *fid, const char *nm, int len, > struct vattr *va, struct ucred *cred, struct proc *p, > - /*out*/ CodaFid *VFid, struct vattr *ova) > + /*out*/ struct CodaFid *VFid, struct vattr *ova) > { > DECL(coda_mkdir); /* sets Isize & Osize */ > coda_mkdir_size += len + 1; > @@ -591,7 +595,7 @@ venus_mkdir(void *mdp, CodaFid *fid, con > } > > int > -venus_rmdir(void *mdp, CodaFid *fid, const char *nm, int len, > +venus_rmdir(void *mdp, struct CodaFid *fid, const char *nm, int len, > struct ucred *cred, struct proc *p) > { > DECL_NO_OUT(coda_rmdir); /* sets Isize & Osize */ > @@ -614,7 +618,7 @@ venus_rmdir(void *mdp, CodaFid *fid, con > } > > int > -venus_symlink(void *mdp, CodaFid *fid, const char *lnm, int llen, > +venus_symlink(void *mdp, struct CodaFid *fid, const char *lnm, int llen, > const char *nm, int len, struct vattr *va, struct ucred *cred, > struct proc *p) > { > @@ -645,7 +649,7 @@ venus_symlink(void *mdp, CodaFid *fid, c > * XXX: Unused. > */ > int > -venus_readdir(void *mdp, CodaFid *fid, int count, int offset, > +venus_readdir(void *mdp, struct CodaFid *fid, int count, int offset, > struct ucred *cred, struct proc *p, /*out*/ char *buffer, int *len) > { > DECL(coda_readdir); /* sets Isize & Osize */ > @@ -672,8 +676,8 @@ venus_readdir(void *mdp, CodaFid *fid, i > } > > int > -venus_fhtovp(void *mdp, CodaFid *fid, struct ucred *cred, struct proc *p, > - /*out*/ CodaFid *VFid, int *vtype) > +venus_fhtovp(void *mdp, struct CodaFid *fid, struct ucred *cred, > + struct proc *p, /*out*/ struct CodaFid *VFid, int *vtype) > { > DECL(coda_vget); /* sets Isize & Osize */ > ALLOC(coda_vget); /* sets inp & outp */ > > Modified: stable/8/sys/fs/coda/coda_venus.h > ============================================================================== > --- stable/8/sys/fs/coda/coda_venus.h Tue Jun 1 14:26:27 2010 (r208701) > +++ stable/8/sys/fs/coda/coda_venus.h Tue Jun 1 14:29:26 2010 (r208702) > @@ -34,49 +34,50 @@ > #define _CODA_VENUS_H_ > > int venus_root(void *mdp, struct ucred *cred, struct proc *p, > - /*out*/ CodaFid *VFid); > -int venus_open(void *mdp, CodaFid *fid, int flag, struct ucred *cred, > - struct proc *p, /*out*/ struct vnode **vp); > -int venus_close(void *mdp, CodaFid *fid, int flag, struct ucred *cred, > - struct proc *p); > + /*out*/ struct CodaFid *VFid); > +int venus_open(void *mdp, struct CodaFid *fid, int flag, > + struct ucred *cred, struct proc *p, /*out*/ struct vnode **vp); > +int venus_close(void *mdp, struct CodaFid *fid, int flag, > + struct ucred *cred, struct proc *p); > void venus_read(void); > void venus_write(void); > -int venus_ioctl(void *mdp, CodaFid *fid, int com, int flag, caddr_t data, > - struct ucred *cred, struct proc *p); > -int venus_getattr(void *mdp, CodaFid *fid, struct ucred *cred, > +int venus_ioctl(void *mdp, struct CodaFid *fid, int com, int flag, > + caddr_t data, struct ucred *cred, struct proc *p); > +int venus_getattr(void *mdp, struct CodaFid *fid, struct ucred *cred, > struct vattr *vap); > -int venus_setattr(void *mdp, CodaFid *fid, struct vattr *vap, > +int venus_setattr(void *mdp, struct CodaFid *fid, struct vattr *vap, > struct ucred *cred); > -int venus_access(void *mdp, CodaFid *fid, int mode, struct ucred *cred, > - struct proc *p); > -int venus_readlink(void *mdp, CodaFid *fid, struct ucred *cred, > +int venus_access(void *mdp, struct CodaFid *fid, int mode, > + struct ucred *cred, struct proc *p); > +int venus_readlink(void *mdp, struct CodaFid *fid, struct ucred *cred, > struct proc *p, /*out*/ char **str, int *len); > -int venus_fsync(void *mdp, CodaFid *fid, struct proc *p); > -int venus_lookup(void *mdp, CodaFid *fid, const char *nm, int len, > - struct ucred *cred, struct proc *p, /*out*/ CodaFid *VFid, > +int venus_fsync(void *mdp, struct CodaFid *fid, struct proc *p); > +int venus_lookup(void *mdp, struct CodaFid *fid, const char *nm, int len, > + struct ucred *cred, struct proc *p, /*out*/ struct CodaFid *VFid, > int *vtype); > -int venus_create(void *mdp, CodaFid *fid, const char *nm, int len, > +int venus_create(void *mdp, struct CodaFid *fid, const char *nm, int len, > int exclusive, int mode, struct vattr *va, struct ucred *cred, > - struct proc *p, /*out*/ CodaFid *VFid, struct vattr *attr); > -int venus_remove(void *mdp, CodaFid *fid, const char *nm, int len, > + struct proc *p, /*out*/ struct CodaFid *VFid, > + struct vattr *attr); > +int venus_remove(void *mdp, struct CodaFid *fid, const char *nm, int len, > struct ucred *cred, struct proc *p); > -int venus_link(void *mdp, CodaFid *fid, CodaFid *tfid, const char *nm, > - int len, struct ucred *cred, struct proc *p); > -int venus_rename(void *mdp, CodaFid *fid, CodaFid *tfid, const char *nm, > - int len, const char *tnm, int tlen, struct ucred *cred, > - struct proc *p); > -int venus_mkdir(void *mdp, CodaFid *fid, const char *nm, int len, > +int venus_link(void *mdp, struct CodaFid *fid, struct CodaFid *tfid, > + const char *nm, int len, struct ucred *cred, struct proc *p); > +int venus_rename(void *mdp, struct CodaFid *fid, struct CodaFid *tfid, > + const char *nm, int len, const char *tnm, int tlen, > + struct ucred *cred, struct proc *p); > +int venus_mkdir(void *mdp, struct CodaFid *fid, const char *nm, int len, > struct vattr *va, struct ucred *cred, struct proc *p, > - /*out*/ CodaFid *VFid, struct vattr *ova); > -int venus_rmdir(void *mdp, CodaFid *fid, const char *nm, int len, > + /*out*/ struct CodaFid *VFid, struct vattr *ova); > +int venus_rmdir(void *mdp, struct CodaFid *fid, const char *nm, int len, > + struct ucred *cred, struct proc *p); > +int venus_symlink(void *mdp, struct CodaFid *fid, const char *lnm, > + int llen, const char *nm, int len, struct vattr *va, > struct ucred *cred, struct proc *p); > -int venus_symlink(void *mdp, CodaFid *fid, const char *lnm, int llen, > - const char *nm, int len, struct vattr *va, struct ucred *cred, > - struct proc *p); > -int venus_readdir(void *mdp, CodaFid *fid, int count, int offset, > +int venus_readdir(void *mdp, struct CodaFid *fid, int count, int offset, > struct ucred *cred, struct proc *p, /*out*/ char *buffer, > int *len); > -int venus_fhtovp(void *mdp, CodaFid *fid, struct ucred *cred, > - struct proc *p, /*out*/ CodaFid *VFid, int *vtype); > +int venus_fhtovp(void *mdp, struct CodaFid *fid, struct ucred *cred, > + struct proc *p, /*out*/ struct CodaFid *VFid, int *vtype); > > #endif /* !_CODA_VENUS_H_ */ > > Modified: stable/8/sys/fs/coda/coda_vfsops.c > ============================================================================== > --- stable/8/sys/fs/coda/coda_vfsops.c Tue Jun 1 14:26:27 2010 (r208701) > +++ stable/8/sys/fs/coda/coda_vfsops.c Tue Jun 1 14:29:26 2010 (r208702) > @@ -113,8 +113,8 @@ coda_mount(struct mount *vfsp) > struct cdev *dev; > struct coda_mntinfo *mi; > struct vnode *rootvp; > - CodaFid rootfid = INVAL_FID; > - CodaFid ctlfid = CTL_FID; > + struct CodaFid rootfid = INVAL_FID; > + struct CodaFid ctlfid = CTL_FID; > int error; > struct nameidata ndp; > ENTRY; > @@ -268,8 +268,8 @@ coda_root(struct mount *vfsp, int flags, > int error; > struct proc *p; > struct thread *td; > - CodaFid VFid; > - static const CodaFid invalfid = INVAL_FID; > + struct CodaFid VFid; > + static const struct CodaFid invalfid = INVAL_FID; > > td = curthread; > p = td->td_proc; > @@ -288,7 +288,7 @@ coda_root(struct mount *vfsp, int flags, > * but not in any released versions as of 6 Mar 2003. > */ > if (memcmp(&VTOC(mi->mi_rootvp)->c_fid, &invalfid, > - sizeof(CodaFid)) != 0 || mi->mi_started == 0) { > + sizeof(struct CodaFid)) != 0 || mi->mi_started == 0) { > /* > * Found valid root. > */ > @@ -407,7 +407,7 @@ coda_fhtovp(struct mount *vfsp, struct f > int error; > struct thread *td = curthread; /* XXX -mach */ > struct proc *p = td->td_proc; > - CodaFid VFid; > + struct CodaFid VFid; > int vtype; > > ENTRY; > > Modified: stable/8/sys/fs/coda/coda_vfsops.h > ============================================================================== > --- stable/8/sys/fs/coda/coda_vfsops.h Tue Jun 1 14:26:27 2010 (r208701) > +++ stable/8/sys/fs/coda/coda_vfsops.h Tue Jun 1 14:29:26 2010 (r208702) > @@ -42,7 +42,7 @@ > struct cfid { > u_short cfid_len; > u_short padding; > - CodaFid cfid_fid; > + struct CodaFid cfid_fid; > }; > > struct mbuf; > > Modified: stable/8/sys/fs/coda/coda_vnops.c > ============================================================================== > --- stable/8/sys/fs/coda/coda_vnops.c Tue Jun 1 14:26:27 2010 (r208701) > +++ stable/8/sys/fs/coda/coda_vnops.c Tue Jun 1 14:29:26 2010 (r208702) > @@ -872,7 +872,7 @@ coda_lookup(struct vop_cachedlookup_args > struct cnode *cp; > const char *nm = cnp->cn_nameptr; > int len = cnp->cn_namelen; > - CodaFid VFid; > + struct CodaFid VFid; > int vtype; > int error = 0; > > @@ -1009,7 +1009,7 @@ coda_create(struct vop_create_args *ap) > struct cnode *cp; > const char *nm = cnp->cn_nameptr; > int len = cnp->cn_namelen; > - CodaFid VFid; > + struct CodaFid VFid; > struct vattr attr; > > MARK_ENTRY(CODA_CREATE_STATS); > @@ -1278,7 +1278,7 @@ coda_mkdir(struct vop_mkdir_args *ap) > const char *nm = cnp->cn_nameptr; > int len = cnp->cn_namelen; > struct cnode *cp; > - CodaFid VFid; > + struct CodaFid VFid; > struct vattr ova; > > MARK_ENTRY(CODA_MKDIR_STATS); > @@ -1687,7 +1687,7 @@ coda_print_cred(struct ucred *cred) > * coda_unsave. > */ > struct cnode * > -make_coda_node(CodaFid *fid, struct mount *vfsp, short type) > +make_coda_node(struct CodaFid *fid, struct mount *vfsp, short type) > { > struct cnode *cp; > struct vnode *vp; >