On Wed, Aug 26, 2015 at 03:37:23PM +0200, David Sterba wrote: > On Wed, Aug 26, 2015 at 04:16:42PM +0800, Peng Tao wrote: > > +struct file_clone_range { > > + __s64 src_fd; > > + __u64 src_offset; > > + __u64 src_length; > > + __u64 dest_offset; > > +}; > > Might be a good idea to add some spare bytes to the structure. But... structure size is encoded in the ioctl definition, so adding bytes to struct file_clone_range now will change the ioctl number and break userland. --D > > > struct fstrim_range { > > __u64 start; > > __u64 len; > > @@ -159,6 +166,8 @@ struct inodes_stat_t { > > #define FIFREEZE _IOWR('X', 119, int) /* Freeze */ > > #define FITHAW _IOWR('X', 120, int) /* Thaw */ > > #define FITRIM _IOWR('X', 121, struct fstrim_range) /* Trim */ > > +#define FICLONE _IOW(0x94, 9, int) /* Clone */ > > +#define FICLONERANGE _IOW(0x94, 13, struct file_clone_range) /* Clone range */ > > FICLONE is a special case of FICLONERANGE. The whole file clone had come > historically first and then was refined, I don't think this needs to be > copied to the generic API. A zeroed file_clone_range is simple to use > for that purpose. > -- > To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html