1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-23 09:57:40 +03:00

s3-vfs: Use ENOATTR in errno comparison for getxattr

* ENODATA is not defined in FreeBSD
* ENOATTR is defined to be a synonym for ENODATA in Linux
* In its absence Samba already defines ENOATTR to either
  ENODATA or ENOENT

Thus it is safe and correct to compare with ENOATTR rather
than ENODATA.

Signed-off-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Uri Simchoni <uri@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Wed Jan 23 21:59:10 CET 2019 on sn-devel-144
This commit is contained in:
Anoop C S 2019-01-23 15:40:43 +05:30 committed by Jeremy Allison
parent 9f666969f8
commit c99402724a
3 changed files with 4 additions and 4 deletions

View File

@ -379,7 +379,7 @@ SMB_ACL_T posixacl_xattr_acl_get_file(vfs_handle_struct *handle,
if (ret > 0) {
return posixacl_xattr_to_smb_acl(buf, ret, mem_ctx);
}
if (ret == 0 || errno == ENOATTR || errno == ENODATA) {
if (ret == 0 || errno == ENOATTR) {
mode_t mode = 0;
TALLOC_CTX *frame = talloc_stackframe();
struct smb_filename *smb_fname_tmp =
@ -434,7 +434,7 @@ SMB_ACL_T posixacl_xattr_acl_get_fd(vfs_handle_struct *handle,
if (ret > 0) {
return posixacl_xattr_to_smb_acl(buf, ret, mem_ctx);
}
if (ret == 0 || errno == ENOATTR || errno == ENODATA) {
if (ret == 0 || errno == ENOATTR) {
SMB_STRUCT_STAT sbuf;
ret = SMB_VFS_FSTAT(fsp, &sbuf);
if (ret == 0)

View File

@ -1443,7 +1443,7 @@ static int vfs_gluster_get_real_filename(struct vfs_handle_struct *handle,
ret = glfs_getxattr(handle->data, path, key_buf, val_buf, NAME_MAX + 1);
if (ret == -1) {
if (errno == ENODATA) {
if (errno == ENOATTR) {
errno = EOPNOTSUPP;
}
return -1;

View File

@ -42,7 +42,7 @@ static int vfs_gluster_fuse_get_real_filename(struct vfs_handle_struct *handle,
ret = getxattr(path, key_buf, val_buf, NAME_MAX + 1);
if (ret == -1) {
if (errno == ENODATA) {
if (errno == ENOATTR) {
errno = EOPNOTSUPP;
}
return -1;