Date: Wed, 6 Aug 2003 14:20:44 -0700 (PDT) From: Robert Watson <rwatson@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 35655 for review Message-ID: <200308062120.h76LKi3d003275@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=35655 Change 35655 by rwatson@rwatson_paprika on 2003/08/06 14:20:05 Various cleanups and fixes relating to pushing the umask handling down into the file systems. Affected files ... .. //depot/projects/trustedbsd/acl/sys/coda/coda_vnops.c#6 edit .. //depot/projects/trustedbsd/acl/sys/fs/devfs/devfs_vnops.c#6 edit .. //depot/projects/trustedbsd/acl/sys/fs/msdosfs/msdosfs_vnops.c#6 edit .. //depot/projects/trustedbsd/acl/sys/kern/kern_alq.c#5 edit .. //depot/projects/trustedbsd/acl/sys/kern/kern_sig.c#6 edit .. //depot/projects/trustedbsd/acl/sys/kern/vfs_syscalls.c#5 edit .. //depot/projects/trustedbsd/acl/sys/nfsclient/nfs_vnops.c#7 edit Differences ... ==== //depot/projects/trustedbsd/acl/sys/coda/coda_vnops.c#6 (text+ko) ==== @@ -1150,7 +1150,7 @@ /* All creates are exclusive XXX */ /* I'm assuming the 'mode' argument is the file mode bits XXX */ - mode ~= cmask; + mode = mode &~ cmask; /* Check for create of control object. */ if (IS_CTL_NAME(dvp, nm, len)) { ==== //depot/projects/trustedbsd/acl/sys/fs/devfs/devfs_vnops.c#6 (text+ko) ==== @@ -743,7 +743,7 @@ (vap->va_gen != VNOVAL)) { return (EINVAL); } - mode = vap->va_mode &~ ap->a_cmask; + mode = vap->va_mode; de = vp->v_data; if (vp->v_type == VDIR) ==== //depot/projects/trustedbsd/acl/sys/fs/msdosfs/msdosfs_vnops.c#6 (text+ko) ==== @@ -141,7 +141,7 @@ struct denode *dep; struct denode *pdep = VTODE(ap->a_dvp); struct timespec ts; - u_short mode + u_short mode; int error; #ifdef MSDOSFS_DEBUG ==== //depot/projects/trustedbsd/acl/sys/kern/kern_alq.c#5 (text+ko) ==== @@ -38,8 +38,10 @@ #include <sys/vnode.h> #include <sys/alq.h> #include <sys/malloc.h> +#include <sys/stat.h> #include <sys/unistd.h> #include <sys/fcntl.h> +#include <sys/filedesc.h> #include <sys/eventhandler.h> /* Async. Logging Queue */ ==== //depot/projects/trustedbsd/acl/sys/kern/kern_sig.c#6 (text+ko) ==== @@ -52,6 +52,7 @@ #include <sys/condvar.h> #include <sys/event.h> #include <sys/fcntl.h> +#include <sys/filedesc.h> #include <sys/kernel.h> #include <sys/kse.h> #include <sys/ktr.h> @@ -2548,7 +2549,7 @@ NDINIT(&nd, LOOKUP, NOFOLLOW, UIO_SYSSPACE, name, td); /* XXXKSE */ flags = O_CREAT | FWRITE | O_NOFOLLOW; /* - * XXXACL: creation mask here? */ + * XXXACL: creation mask here? */ FILEDESC_LOCK(td->td_proc->p_fd); cmask = td->td_proc->p_fd->fd_cmask; ==== //depot/projects/trustedbsd/acl/sys/kern/vfs_syscalls.c#5 (text+ko) ==== @@ -1155,7 +1155,7 @@ struct mount *mp; struct vattr vattr; char *syspath; - int error; + int cmask, error; struct nameidata nd; if (segflg == UIO_SYSSPACE) { ==== //depot/projects/trustedbsd/acl/sys/nfsclient/nfs_vnops.c#7 (text+ko) ==== @@ -216,7 +216,8 @@ VNODEOP_SET(fifo_nfsv2nodeop_opv_desc); static int nfs_mknodrpc(struct vnode *dvp, struct vnode **vpp, - struct componentname *cnp, struct vattr *vap); + struct componentname *cnp, struct vattr *vap, + int cmask); static int nfs_removerpc(struct vnode *dvp, const char *name, int namelen, struct ucred *cred, struct thread *td); static int nfs_renamerpc(struct vnode *fdvp, const char *fnameptr,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200308062120.h76LKi3d003275>