diff options
Diffstat (limited to 'source4')
-rw-r--r-- | source4/ntvfs/posix/pvfs_xattr.c | 6 | ||||
-rw-r--r-- | source4/ntvfs/posix/xattr_system.c | 12 |
2 files changed, 10 insertions, 8 deletions
diff --git a/source4/ntvfs/posix/pvfs_xattr.c b/source4/ntvfs/posix/pvfs_xattr.c index 09f1c9fdc8..e5b4fdaa90 100644 --- a/source4/ntvfs/posix/pvfs_xattr.c +++ b/source4/ntvfs/posix/pvfs_xattr.c @@ -47,8 +47,10 @@ static NTSTATUS pull_xattr_blob(struct pvfs_state *pvfs, fd, estimated_size, blob); /* if the filesystem doesn't support them, then tell pvfs not to try again */ - if (NT_STATUS_EQUAL(status, NT_STATUS_NOT_SUPPORTED)) { - DEBUG(5,("pvfs_xattr: xattr not supported in filesystem\n")); + if (NT_STATUS_EQUAL(status, NT_STATUS_NOT_SUPPORTED)|| + NT_STATUS_EQUAL(status, NT_STATUS_NOT_IMPLEMENTED)|| + NT_STATUS_EQUAL(status, NT_STATUS_INVALID_SYSTEM_SERVICE)) { + DEBUG(5,("pvfs_xattr: xattr not supported in filesystem: %s\n", nt_errstr(status))); pvfs->flags &= ~PVFS_FLAG_XATTR_ENABLE; status = NT_STATUS_NOT_FOUND; } diff --git a/source4/ntvfs/posix/xattr_system.c b/source4/ntvfs/posix/xattr_system.c index 11d8df2933..958f57e0fd 100644 --- a/source4/ntvfs/posix/xattr_system.c +++ b/source4/ntvfs/posix/xattr_system.c @@ -57,32 +57,32 @@ static int _wrap_darwin_removexattr(const char *path, const char *name) #elif !defined(HAVE_XATTR_SUPPORT) static ssize_t _none_fgetxattr(int fd, const char *name, void *value, size_t size) { - errno = ENOTSUP; + errno = ENOSYS; return -1; } static ssize_t _none_getxattr(const char *path, const char *name, void *value, size_t size) { - errno = ENOTSUP; + errno = ENOSYS; return -1; } static int _none_fsetxattr(int fd, const char *name, void *value, size_t size, int flags) { - errno = ENOTSUP; + errno = ENOSYS; return -1; } static int _none_setxattr(const char *path, const char *name, void *value, size_t size, int flags) { - errno = ENOTSUP; + errno = ENOSYS; return -1; } static int _none_fremovexattr(int fd, const char *name) { - errno = ENOTSUP; + errno = ENOSYS; return -1; } static int _none_removexattr(const char *path, const char *name) { - errno = ENOTSUP; + errno = ENOSYS; return -1; } #define fgetxattr _none_fgetxattr |