From 229989a0f224186133d4fa24351c500b16396580 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 25 Jan 2021 09:55:40 +0100 Subject: [PATCH] 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 (cherry picked from commit da3b00f5511d83bdc347eaff9c031390fea41802) --- source3/modules/vfs_zfsacl.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/source3/modules/vfs_zfsacl.c b/source3/modules/vfs_zfsacl.c index a526ffa19aa..a0475ddee87 100644 --- a/source3/modules/vfs_zfsacl.c +++ b/source3/modules/vfs_zfsacl.c @@ -169,6 +169,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, @@ -235,8 +236,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); @@ -319,12 +321,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; @@ -342,7 +346,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)); -- 2.27.0