Message ID | 1578947683-21011-14-git-send-email-aleksandar.markovic@rt-rk.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | linux-user: Misc patches for 5.0 | expand |
Le 13/01/2020 à 21:34, Aleksandar Markovic a écrit : > From: Aleksandar Markovic <amarkovic@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 <amarkovic@wavecomp.com> > --- > linux-user/ioctls.h | 3 +++ > linux-user/syscall_defs.h | 1 + > 2 files changed, 4 insertions(+) > > diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h > index e1b89a7..e4f0a04 100644 > --- a/linux-user/ioctls.h > +++ b/linux-user/ioctls.h > @@ -123,6 +123,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))) It seems STRUCT_fstrim_range is not defined. > +#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 12cd3de..40851e9 100644 > --- a/linux-user/syscall_defs.h > +++ b/linux-user/syscall_defs.h > @@ -908,6 +908,7 @@ struct target_pollfd { > #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) I think you need a "#ifdef" here too. > #define TARGET_FICLONE TARGET_IOW(0x94, 9, int) > #define TARGET_FICLONERANGE TARGET_IOW(0x94, 13, struct file_clone_range) > > Thanks, Laurent
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h index e1b89a7..e4f0a04 100644 --- a/linux-user/ioctls.h +++ b/linux-user/ioctls.h @@ -123,6 +123,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 12cd3de..40851e9 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -908,6 +908,7 @@ struct target_pollfd { #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)