diff options
Diffstat (limited to 'include/linux/falloc.h')
| -rw-r--r-- | include/linux/falloc.h | 26 | 
1 files changed, 26 insertions, 0 deletions
diff --git a/include/linux/falloc.h b/include/linux/falloc.h index 674d59f4d6ce..8bf3d79f3e82 100644 --- a/include/linux/falloc.h +++ b/include/linux/falloc.h @@ -20,7 +20,10 @@ struct space_resv {  };  #define FS_IOC_RESVSP		_IOW('X', 40, struct space_resv) +#define FS_IOC_UNRESVSP		_IOW('X', 41, struct space_resv)  #define FS_IOC_RESVSP64		_IOW('X', 42, struct space_resv) +#define FS_IOC_UNRESVSP64	_IOW('X', 43, struct space_resv) +#define FS_IOC_ZERO_RANGE	_IOW('X', 57, struct space_resv)  #define	FALLOC_FL_SUPPORTED_MASK	(FALLOC_FL_KEEP_SIZE |		\  					 FALLOC_FL_PUNCH_HOLE |		\ @@ -29,4 +32,27 @@ 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_UNRESVSP_32	_IOW ('X', 41, struct space_resv_32) +#define FS_IOC_RESVSP64_32	_IOW ('X', 42, struct space_resv_32) +#define FS_IOC_UNRESVSP64_32	_IOW ('X', 43, struct space_resv_32) +#define FS_IOC_ZERO_RANGE_32	_IOW ('X', 57, struct space_resv_32) + +int compat_ioctl_preallocate(struct file *, int, struct space_resv_32 __user *); + +#endif +  #endif /* _FALLOC_H_ */  | 
