hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/include/linux/falloc.h
....@@ -20,7 +20,10 @@
2020 };
2121
2222 #define FS_IOC_RESVSP _IOW('X', 40, struct space_resv)
23
+#define FS_IOC_UNRESVSP _IOW('X', 41, struct space_resv)
2324 #define FS_IOC_RESVSP64 _IOW('X', 42, struct space_resv)
25
+#define FS_IOC_UNRESVSP64 _IOW('X', 43, struct space_resv)
26
+#define FS_IOC_ZERO_RANGE _IOW('X', 57, struct space_resv)
2427
2528 #define FALLOC_FL_SUPPORTED_MASK (FALLOC_FL_KEEP_SIZE | \
2629 FALLOC_FL_PUNCH_HOLE | \
....@@ -29,4 +32,25 @@
2932 FALLOC_FL_INSERT_RANGE | \
3033 FALLOC_FL_UNSHARE_RANGE)
3134
35
+/* on ia32 l_start is on a 32-bit boundary */
36
+#if defined(CONFIG_X86_64)
37
+struct space_resv_32 {
38
+ __s16 l_type;
39
+ __s16 l_whence;
40
+ __s64 l_start __attribute__((packed));
41
+ /* len == 0 means until end of file */
42
+ __s64 l_len __attribute__((packed));
43
+ __s32 l_sysid;
44
+ __u32 l_pid;
45
+ __s32 l_pad[4]; /* reserve area */
46
+};
47
+
48
+#define FS_IOC_RESVSP_32 _IOW ('X', 40, struct space_resv_32)
49
+#define FS_IOC_UNRESVSP_32 _IOW ('X', 41, struct space_resv_32)
50
+#define FS_IOC_RESVSP64_32 _IOW ('X', 42, struct space_resv_32)
51
+#define FS_IOC_UNRESVSP64_32 _IOW ('X', 43, struct space_resv_32)
52
+#define FS_IOC_ZERO_RANGE_32 _IOW ('X', 57, struct space_resv_32)
53
+
54
+#endif
55
+
3256 #endif /* _FALLOC_H_ */