Re: [PATCH] btrfs: bugfix: handle FS_IOC32_{GETFLAGS,SETFLAGS,GETVERSION} in btrfs_ioctl

Luke Dashjr
2015-10-29T20:06:55Z

On Thursday, October 29, 2015 7:36:35 PM Thomas Rohwer wrote:
> > I suggest to add an anonymous union and add a u64 member that would
> > force the type width:
> >
> > struct btrfs_ioctl_send_args {
> >
> > __s64 send_fd; /* in */
> > __u64 clone_sources_count; /* in */
> >
> > union {
> >
> > __u64 __user *clone_sources; /* in */
> > u64 __pointer_alignment;
> >
> > };
> >
> > __u64 parent_root; /* in */
> > __u64 flags; /* in */
> > __u64 reserved[4]; /* in */
> >
> > };
>
> I am no expert, but would this change alone modify the user space ABI of a
> 32-bit Linux kernel? I.e. people in the (presumably currently working)
> btrfs-send situation (32-bit) user space/32-bit kernel would have to
> upgrade user space tools and kernel at the same time. Otherwise, they will
> encounter a non-working setup.

Yes, it would, but this appears to already be the case for btrfs-progs in
general.

> I think, my suggested patch does not change any working ABI, and no change
> to the user space tools are necessary.

Don't the user space tools need to call a different ioctl?

Luke