hc
2024-11-01 2f529f9b558ca1c1bd74be7437a84e4711743404
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _FALLOC_H_
#define _FALLOC_H_
 
#include <uapi/linux/falloc.h>
 
 
/*
 * Space reservation ioctls and argument structure
 * are designed to be compatible with the legacy XFS ioctls.
 */
struct space_resv {
   __s16        l_type;
   __s16        l_whence;
   __s64        l_start;
   __s64        l_len;        /* len == 0 means until end of file */
   __s32        l_sysid;
   __u32        l_pid;
   __s32        l_pad[4];    /* reserved area */
};
 
#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 |        \
                    FALLOC_FL_COLLAPSE_RANGE |    \
                    FALLOC_FL_ZERO_RANGE |        \
                    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)
 
#endif
 
#endif /* _FALLOC_H_ */