Le 24/01/2020 à 16:47, Aleksandar Markovic a écrit : > From: Aleksandar Markovic <amarko...@wavecomp.com> > > FITRIM ioctl accepts a pointer to the structure > > struct fstrim_range { > __u64 start; > __u64 len; > __u64 minlen; > }; > > as its third argument. > > All ioctls in this group (FI* ioctl) are guarded with "#ifdef", so the > guards are used in this implementation too for consistency (however, > many of ioctls in FI* group became old enough that their #ifdef guards > could be removed, bit this is out of the scope of this patch). > > Signed-off-by: Aleksandar Markovic <amarko...@wavecomp.com> > --- > linux-user/ioctls.h | 3 +++ > linux-user/syscall_defs.h | 1 + > linux-user/syscall_types.h | 5 +++++ > 3 files changed, 9 insertions(+) > > diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h > index 9fb9d6f..944fbeb 100644 > --- a/linux-user/ioctls.h > +++ b/linux-user/ioctls.h > @@ -152,6 +152,9 @@ > #ifdef FIBMAP > IOCTL(FIBMAP, IOC_W | IOC_R, MK_PTR(TYPE_LONG)) > #endif > +#ifdef FITRIM > + IOCTL(FITRIM, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_fstrim_range))) > +#endif > #ifdef FICLONE > IOCTL(FICLONE, IOC_W, TYPE_INT) > IOCTL(FICLONERANGE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_file_clone_range))) > diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h > index ed5068f..8761841 100644 > --- a/linux-user/syscall_defs.h > +++ b/linux-user/syscall_defs.h > @@ -950,6 +950,7 @@ struct target_rtc_pll_info { > #define TARGET_FIBMAP TARGET_IO(0x00,1) /* bmap access */ > #define TARGET_FIGETBSZ TARGET_IO(0x00,2) /* get the block size used for > bmap */ > > +#define TARGET_FITRIM TARGET_IOWR('X', 121, struct fstrim_range) > #define TARGET_FICLONE TARGET_IOW(0x94, 9, int) > #define TARGET_FICLONERANGE TARGET_IOW(0x94, 13, struct file_clone_range) > > diff --git a/linux-user/syscall_types.h b/linux-user/syscall_types.h > index 5ba4155..dfd7608 100644 > --- a/linux-user/syscall_types.h > +++ b/linux-user/syscall_types.h > @@ -226,6 +226,11 @@ STRUCT(dm_target_versions, > STRUCT(dm_target_msg, > TYPE_ULONGLONG) /* sector */ > > +STRUCT(fstrim_range, > + TYPE_LONGLONG, /* start */ > + TYPE_LONGLONG, /* len */ > + TYPE_LONGLONG) /* minlen */
they are __u64, use TYPE_ULONGLONG. With that changed, you can add my: Reviewed-by: Laurent Vivier <laur...@vivier.eu>