From: Volker Lendecke Date: Mon, 25 Jan 2021 08:55:40 +0000 (+0100) Subject: vfs: Fix the FreeBSD build X-Git-Tag: tevent-0.11.0~1991 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=da3b00f5511d83bdc347eaff9c031390fea41802;p=thirdparty%2Fsamba.git vfs: Fix the FreeBSD build fd_handle is private now Signed-off-by: Volker Lendecke Reviewed-by: Ralph Boehme Autobuild-User(master): Volker Lendecke Autobuild-Date(master): Mon Jan 25 12:16:11 UTC 2021 on sn-devel-184 --- diff --git a/source3/modules/vfs_zfsacl.c b/source3/modules/vfs_zfsacl.c index 214c5b542c4..467a0031119 100644 --- a/source3/modules/vfs_zfsacl.c +++ b/source3/modules/vfs_zfsacl.c @@ -168,6 +168,7 @@ static bool zfs_process_smbacl(vfs_handle_struct *handle, files_struct *fsp, bool have_special_id = false; bool must_add_empty_ace = false; struct zfsacl_config_data *config = NULL; + int fd; SMB_VFS_HANDLE_GET_DATA(handle, config, struct zfsacl_config_data, @@ -234,8 +235,9 @@ static bool zfs_process_smbacl(vfs_handle_struct *handle, files_struct *fsp, SMB_ASSERT(i == naces); /* store acl */ - if (fsp->fh->fd != -1) { - rv = facl(fsp->fh->fd, ACE_SETACL, naces, acebuf); + fd = fsp_get_io_fd(fsp); + if (fd != -1) { + rv = facl(fd, ACE_SETACL, naces, acebuf); } else { rv = acl(fsp->fsp_name->base_name, ACE_SETACL, naces, acebuf); @@ -318,12 +320,14 @@ static int fget_zfsacl(TALLOC_CTX *mem_ctx, { int naces, rv; ace_t *acebuf = NULL; + int fd; - if (fsp->fh->fd == -1) { + fd = fsp_get_io_fd(fsp); + if (fd == -1) { return get_zfsacl(mem_ctx, fsp->fsp_name, outbuf); } - naces = facl(fsp->fh->fd, ACE_GETACLCNT, 0, NULL); + naces = facl(fd, ACE_GETACLCNT, 0, NULL); if (naces == -1) { int dbg_level = 10; @@ -341,7 +345,7 @@ static int fget_zfsacl(TALLOC_CTX *mem_ctx, return -1; } - rv = facl(fsp->fh->fd, ACE_GETACL, naces, acebuf); + rv = facl(fd, ACE_GETACL, naces, acebuf); if (rv == -1) { DBG_DEBUG("acl(ACE_GETACL, %s): %s ", fsp_str_dbg(fsp), strerror(errno));