summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/ntvfs/posix/pvfs_xattr.c6
-rw-r--r--source4/ntvfs/posix/xattr_system.c12
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