diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2019-04-21 19:24:03 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2019-10-23 17:15:57 +0200 |
commit | 011da44bc5b6520d00b42c584a4fefc85f7b332b (patch) | |
tree | b427daf4e0a56740cf791e391c66b8ee4ba12bc3 /include/linux/falloc.h | |
parent | 34d3d0e65e3a84bc76e75431528e41f9f94bd6cf (diff) |
compat: move FS_IOC_RESVSP_32 handling to fs/ioctl.c
... and lose the ridiculous games with compat_alloc_user_space()
there.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include/linux/falloc.h')
-rw-r--r-- | include/linux/falloc.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/falloc.h b/include/linux/falloc.h index 674d59f4d6ce..fc61fdb9d1e9 100644 --- a/include/linux/falloc.h +++ b/include/linux/falloc.h @@ -29,4 +29,24 @@ struct space_resv { FALLOC_FL_INSERT_RANGE | \ FALLOC_FL_UNSHARE_RANGE) +/* on ia32 l_start is on a 32-bit boundary */ +#if defined(CONFIG_X86_64) +struct space_resv_32 { + __s16 l_type; + __s16 l_whence; + __s64 l_start __attribute__((packed)); + /* len == 0 means until end of file */ + __s64 l_len __attribute__((packed)); + __s32 l_sysid; + __u32 l_pid; + __s32 l_pad[4]; /* reserve area */ +}; + +#define FS_IOC_RESVSP_32 _IOW ('X', 40, struct space_resv_32) +#define FS_IOC_RESVSP64_32 _IOW ('X', 42, struct space_resv_32) + +int compat_ioctl_preallocate(struct file *, struct space_resv_32 __user *); + +#endif + #endif /* _FALLOC_H_ */ |