[PATCH v3 07/13] vfs_btrfs: add [GET/SET]_COMPRESSION handlers
David Disseldorp
ddiss at suse.de
Thu Nov 7 14:10:19 MST 2013
Jeremy Allison <jra at samba.org> wrote:
>On Tue, Nov 05, 2013 at 12:57:57PM +0100, David Disseldorp wrote:
>> Translate such requests into FS_IOC_GETFLAGS and FS_IOC_SETFLAGS
>ioctls
>> respectively. The module makes no distinction between compression
>types,
>> only whether or not compression is enabled.
>>
>> Signed-off-by: David Disseldorp <ddiss at samba.org>
>> ---
>> source3/modules/vfs_btrfs.c | 121
>++++++++++++++++++++++++++++++++++++++++++--
>> source3/wscript | 2 +-
>> 2 files changed, 119 insertions(+), 4 deletions(-)
>>
>> diff --git a/source3/modules/vfs_btrfs.c
>b/source3/modules/vfs_btrfs.c
>> index f854f2a..d65b46a 100644
>> --- a/source3/modules/vfs_btrfs.c
>> +++ b/source3/modules/vfs_btrfs.c
>> @@ -18,11 +18,16 @@
>> */
>>
>> #include <linux/ioctl.h>
>> +#include <linux/fs.h>
>> #include <sys/ioctl.h>
>> +#include <sys/types.h>
>> +#include <sys/stat.h>
>> +#include <unistd.h>
>> +#include <fcntl.h>
>> #include "includes.h"
>> -#include "system/filesys.h"
>> #include "smbd/smbd.h"
>> -#include "../librpc/gen_ndr/smbXsrv.h"
>> +#include "librpc/gen_ndr/smbXsrv.h"
>> +#include "librpc/gen_ndr/ioctl.h"
>> #include "lib/util/tevent_ntstatus.h"
>>
>> struct btrfs_ioctl_clone_range_args {
>> @@ -107,7 +112,7 @@ static struct tevent_req
>*btrfs_copy_chunk_send(struct vfs_handle_struct *handle
>> cr_args.src_length = (uint64_t)num;
>>
>> ret = ioctl(dest_fsp->fh->fd, BTRFS_IOC_CLONE_RANGE, &cr_args);
>> - SMB_VFS_STRICT_UNLOCK(src_fsp->conn, src_fsp, &dest_lck);
>> + SMB_VFS_STRICT_UNLOCK(src_fsp->conn, dest_fsp, &dest_lck);
>> SMB_VFS_STRICT_UNLOCK(src_fsp->conn, src_fsp, &src_lck);
>> if (ret < 0) {
>
>David - I was reviewing the patchset and was wondering about
>this hunk:
>
>Shouldn't this change be :
>
>- SMB_VFS_STRICT_UNLOCK(src_fsp->conn, src_fsp, &dest_lck);
>
>+ SMB_VFS_STRICT_UNLOCK(dest_fsp->conn, dest_fsp, &dest_lck);
>
>I'm not sure if src_fsp and dest_fsp can be on different conn
>structs here, but this seems strange to me - the ->conn pointer
>should be consistent between fsp handles.
Yes, you're right. Thanks Jeremy!
This change really belongs in a separate commit too.
Cheers, David
More information about the samba-technical
mailing list