From: Ralph Boehme Date: Mon, 9 Aug 2021 17:30:21 +0000 (+0200) Subject: vfs_btrfs: fix btrfs_fget_compression() X-Git-Tag: ldb-2.5.0~691 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ed35fce4fe48b1fa26854a7b4bb151b5c5fb6fc6;p=thirdparty%2Fsamba.git vfs_btrfs: fix btrfs_fget_compression() BUG: https://bugzilla.samba.org/show_bug.cgi?id=14790 RB: vfs_btrfs compression support broken Reported-by: noel.kuntze@thermi.consulting Signed-off-by: Ralph Boehme Reviewed-by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Fri Sep 10 18:16:18 UTC 2021 on sn-devel-184 --- 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; }