Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/kern for the *xattr() calls, return ENOTSUP rather than ...



details:   https://anonhg.NetBSD.org/src/rev/79961b71ae40
branches:  trunk
changeset: 771106:79961b71ae40
user:      drochner <drochner%NetBSD.org@localhost>
date:      Wed Nov 09 18:29:28 2011 +0000

description:
for the *xattr() calls, return ENOTSUP rather than EOPNOTSUPP if
the filesystem doesn't support extended attributes -- this is how
it is documented in Linux manpages
(on Linux itself, ENOTSUP and EOPNOTSUPP are the same value)
approved by Emmanuel Dreyfus

diffstat:

 sys/kern/vfs_xattr.c |  30 ++++++++++++++++--------------
 1 files changed, 16 insertions(+), 14 deletions(-)

diffs (133 lines):

diff -r e458138461a9 -r 79961b71ae40 sys/kern/vfs_xattr.c
--- a/sys/kern/vfs_xattr.c      Wed Nov 09 17:05:50 2011 +0000
+++ b/sys/kern/vfs_xattr.c      Wed Nov 09 18:29:28 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: vfs_xattr.c,v 1.28 2011/07/22 12:46:18 manu Exp $      */
+/*     $NetBSD: vfs_xattr.c,v 1.29 2011/11/09 18:29:28 drochner Exp $  */
 
 /*-
  * Copyright (c) 2005, 2008 The NetBSD Foundation, Inc.
@@ -68,7 +68,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_xattr.c,v 1.28 2011/07/22 12:46:18 manu Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_xattr.c,v 1.29 2011/11/09 18:29:28 drochner Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -786,6 +786,8 @@
 }
 #undef MATCH_NS
 
+#define XATTR_ERRNO(e) ((e) == EOPNOTSUPP ? ENOTSUP : (e))
+
 int
 sys_setxattr(struct lwp *l, const struct sys_setxattr_args *uap, register_t *retval)
 {
@@ -821,7 +823,7 @@
        vrele(vp);
 out:
        *retval = (error == 0) ? 0 : -1;
-       return (error);
+       return (XATTR_ERRNO(error));
 }
 
 int
@@ -859,7 +861,7 @@
        vrele(vp);
 out:
        *retval = (error == 0) ? 0 : -1;
-       return (error);
+       return (XATTR_ERRNO(error));
 }
 
 int
@@ -898,7 +900,7 @@
        fd_putfile(SCARG(uap, fd));
 out:
        *retval = (error == 0) ? 0 : -1;
-       return (error);
+       return (XATTR_ERRNO(error));
 }
 
 int
@@ -931,7 +933,7 @@
            attrname, SCARG(uap, value), SCARG(uap, size), l, retval);
 
        vrele(vp);
-       return (error);
+       return (XATTR_ERRNO(error));
 }
 
 int
@@ -964,7 +966,7 @@
            attrname, SCARG(uap, value), SCARG(uap, size), l, retval);
 
        vrele(vp);
-       return (error);
+       return (XATTR_ERRNO(error));
 }
 
 int
@@ -998,7 +1000,7 @@
            attrname, SCARG(uap, value), SCARG(uap, size), l, retval);
 
        fd_putfile(SCARG(uap, fd));
-       return (error);
+       return (XATTR_ERRNO(error));
 }
 
 int
@@ -1051,7 +1053,7 @@
 
 out:
        vrele(vp);
-       return (error);
+       return (XATTR_ERRNO(error));
 }
 
 int
@@ -1102,7 +1104,7 @@
        *retval = listsize_usr + listsize_sys;  
 out:
        vrele(vp);
-       return (error);
+       return (XATTR_ERRNO(error));
 }
 
 int
@@ -1156,7 +1158,7 @@
 out:
 
        fd_putfile(SCARG(uap, fd));
-       return (error);
+       return (XATTR_ERRNO(error));
 }
 
 int
@@ -1186,7 +1188,7 @@
        error = extattr_delete_vp(vp, namespace, attrname, l);
 
        vrele(vp);
-       return (error);
+       return (XATTR_ERRNO(error));
 }
 
 int
@@ -1216,7 +1218,7 @@
        error = extattr_delete_vp(vp, namespace, attrname, l);
 
        vrele(vp);
-       return (error);
+       return (XATTR_ERRNO(error));
 }
 
 int
@@ -1247,5 +1249,5 @@
        error = extattr_delete_vp(vp, namespace, attrname, l);
 
        fd_putfile(SCARG(uap, fd));
-       return (error);
+       return (XATTR_ERRNO(error));
 }



Home | Main Index | Thread Index | Old Index