Le 18/02/2020 à 21:53, Laurent Vivier a écrit : > 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)
You need also the "#ifdef" that is in the next patch. >> #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> > >