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