PERFORCE change 168846 for review
Edward Tomasz Napierala
trasz at FreeBSD.org
Thu Sep 24 13:51:05 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=168846
Change 168846 by trasz at trasz_victim on 2009/09/24 13:50:35
Fix errno - no ACL support at all is EOPNOTSUPP, no support for this
particular type of ACL is EINVAL.
Affected files ...
.. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_acl.c#21 edit
Differences ...
==== //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_acl.c#21 (text+ko) ====
@@ -147,7 +147,7 @@
struct inode *ip = VTOI(ap->a_vp);
if ((ap->a_vp->v_mount->mnt_flag & MNT_NFS4ACLS) == 0)
- return (EOPNOTSUPP);
+ return (EINVAL);
len = sizeof(*ap->a_aclp);
bzero(ap->a_aclp, len);
@@ -265,7 +265,7 @@
* ACLs, remove this check.
*/
if ((ap->a_vp->v_mount->mnt_flag & MNT_ACLS) == 0)
- return (EOPNOTSUPP);
+ return (EINVAL);
old = malloc(sizeof(*old), M_ACL, M_WAITOK | M_ZERO);
@@ -338,6 +338,9 @@
} */ *ap;
{
+ if ((ap->a_vp->v_mount->mnt_flag & (MNT_ACLS | MNT_NFS4ACLS)) == 0)
+ return (EOPNOTSUPP);
+
if (ap->a_type == ACL_TYPE_NFS4)
return (ufs_getacl_nfs4(ap));
@@ -352,7 +355,7 @@
struct inode *ip = VTOI(ap->a_vp);
if ((ap->a_vp->v_mount->mnt_flag & MNT_NFS4ACLS) == 0)
- return (EOPNOTSUPP);
+ return (EINVAL);
if (ap->a_vp->v_mount->mnt_flag & MNT_RDONLY)
return (EROFS);
@@ -438,7 +441,7 @@
struct oldacl *old;
if ((ap->a_vp->v_mount->mnt_flag & MNT_ACLS) == 0)
- return (EOPNOTSUPP);
+ return (EINVAL);
/*
* If this is a set operation rather than a delete operation,
@@ -558,6 +561,8 @@
struct thread *td;
} */ *ap;
{
+ if ((ap->a_vp->v_mount->mnt_flag & (MNT_ACLS | MNT_NFS4ACLS)) == 0)
+ return (EOPNOTSUPP);
if (ap->a_type == ACL_TYPE_NFS4)
return (ufs_setacl_nfs4(ap));
@@ -571,7 +576,7 @@
int is_directory = 0;
if ((ap->a_vp->v_mount->mnt_flag & MNT_NFS4ACLS) == 0)
- return (EOPNOTSUPP);
+ return (EINVAL);
if (ap->a_vp->v_type == VDIR)
is_directory = 1;
@@ -584,7 +589,7 @@
{
if ((ap->a_vp->v_mount->mnt_flag & MNT_ACLS) == 0)
- return (EOPNOTSUPP);
+ return (EINVAL);
/*
* Verify we understand this type of ACL, and that it applies
@@ -624,6 +629,9 @@
} */ *ap;
{
+ if ((ap->a_vp->v_mount->mnt_flag & (MNT_ACLS | MNT_NFS4ACLS)) == 0)
+ return (EOPNOTSUPP);
+
if (ap->a_type == ACL_TYPE_NFS4)
return (ufs_aclcheck_nfs4(ap));
More information about the p4-projects
mailing list