]> git.sesse.net Git - bcachefs-tools-debian/blob - bcache-ioctl.h
add support for maximum journal entry size
[bcachefs-tools-debian] / bcache-ioctl.h
1 #ifndef _LINUX_BCACHE_IOCTL_H
2 #define _LINUX_BCACHE_IOCTL_H
3
4 #include <linux/uuid.h>
5
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9
10 /* global control dev: */
11
12 #define BCH_FORCE_IF_DATA_MISSING       (1 << 0)
13 #define BCH_FORCE_IF_METADATA_MISSING   (1 << 1)
14
15 #define BCH_IOCTL_ASSEMBLE      _IOW('r', 1, struct bch_ioctl_assemble)
16 #define BCH_IOCTL_INCREMENTAL   _IOW('r', 1, struct bch_ioctl_incremental)
17
18 /* cache set control dev: */
19
20 #define BCH_IOCTL_RUN           _IO('r', 2)
21 #define BCH_IOCTL_STOP          _IO('r', 3)
22
23 #define BCH_IOCTL_DISK_ADD      _IOW('r', 4, struct bch_ioctl_disk_add)
24 #define BCH_IOCTL_DISK_REMOVE   _IOW('r', 5, struct bch_ioctl_disk_remove)
25 #define BCH_IOCTL_DISK_FAIL     _IOW('r', 6, struct bch_ioctl_disk_fail)
26
27 #define BCH_IOCTL_DISK_REMOVE_BY_UUID                                   \
28         _IOW('r', 5, struct bch_ioctl_disk_remove_by_uuid)
29 #define BCH_IOCTL_DISK_FAIL_BY_UUID                                     \
30         _IOW('r', 6, struct bch_ioctl_disk_fail_by_uuid)
31
32 #define BCH_IOCTL_QUERY_UUID    _IOR('r', 6, struct bch_ioctl_query_uuid)
33
34 struct bch_ioctl_assemble {
35         __u32                   flags;
36         __u32                   nr_devs;
37         __u64                   pad;
38         __u64                   devs[];
39 };
40
41 struct bch_ioctl_incremental {
42         __u32                   flags;
43         __u64                   pad;
44         __u64                   dev;
45 };
46
47 struct bch_ioctl_disk_add {
48         __u32                   flags;
49         __u32                   pad;
50         __u64                   dev;
51 };
52
53 struct bch_ioctl_disk_remove {
54         __u32                   flags;
55         __u32                   pad;
56         __u64                   dev;
57 };
58
59 struct bch_ioctl_disk_fail {
60         __u32                   flags;
61         __u32                   pad;
62         __u64                   dev;
63 };
64
65 struct bch_ioctl_disk_remove_by_uuid {
66         __u32                   flags;
67         __u32                   pad;
68         uuid_le                 dev;
69 };
70
71 struct bch_ioctl_disk_fail_by_uuid {
72         __u32                   flags;
73         __u32                   pad;
74         uuid_le                 dev;
75 };
76
77 struct bch_ioctl_query_uuid {
78         uuid_le                 uuid;
79 };
80
81 #ifdef __cplusplus
82 }
83 #endif
84
85 #endif /* _LINUX_BCACHE_IOCTL_H */