From 8074cd96b492fd6a47d31744a08f5177b6e7823f Mon Sep 17 00:00:00 2001 From: Ralph Boehme Date: Mon, 9 Aug 2021 19:30:21 +0200 Subject: [PATCH] vfs_btrfs: fix btrfs_fget_compression() BUG: https://bugzilla.samba.org/show_bug.cgi?id=14790 Reported-by: noel.kuntze@thermi.consulting Signed-off-by: Ralph Boehme --- source3/modules/vfs_btrfs.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/source3/modules/vfs_btrfs.c b/source3/modules/vfs_btrfs.c index 789bc6d6e8a..a31b232af4d 100644 --- a/source3/modules/vfs_btrfs.c +++ b/source3/modules/vfs_btrfs.c @@ -460,11 +460,12 @@ static NTSTATUS btrfs_fget_compression(struct vfs_handle_struct *handle, const char *p = NULL; int ret; long flags = 0; + int fsp_fd = fsp_get_pathref_fd(fsp); int fd = -1; NTSTATUS status; if (!fsp->fsp_flags.is_pathref) { - ret = ioctl(fd, FS_IOC_GETFLAGS, &flags); + ret = ioctl(fsp_fd, FS_IOC_GETFLAGS, &flags); if (ret < 0) { DBG_WARNING("FS_IOC_GETFLAGS failed: %s, fd %lld\n", strerror(errno), (long long)fd); @@ -482,9 +483,7 @@ static NTSTATUS btrfs_fget_compression(struct vfs_handle_struct *handle, return NT_STATUS_NOT_IMPLEMENTED; } - fd = fsp_get_pathref_fd(fsp); - - p = sys_proc_fd_path(fd, buf, sizeof(buf)); + p = sys_proc_fd_path(fsp_fd, buf, sizeof(buf)); if (p == NULL) { return NT_STATUS_NO_MEMORY; } -- 2.31.1