]> git.karo-electronics.de Git - karo-tx-linux.git/blob - include/linux/drbd_nl.h
drbd: Force flag for the detach operation
[karo-tx-linux.git] / include / linux / drbd_nl.h
1 /*
2    PAKET( name,
3           TYPE ( pn, pr, member )
4           ...
5    )
6
7    You may never reissue one of the pn arguments
8 */
9
10 #if !defined(NL_PACKET) || !defined(NL_STRING) || !defined(NL_INTEGER) || !defined(NL_BIT) || !defined(NL_INT64)
11 #error "The macros NL_PACKET, NL_STRING, NL_INTEGER, NL_INT64 and NL_BIT needs to be defined"
12 #endif
13
14 NL_PACKET(primary, 1,
15        NL_BIT(          1,      T_MAY_IGNORE,   primary_force)
16 )
17
18 NL_PACKET(secondary, 2, )
19
20 NL_PACKET(disk_conf, 3,
21         NL_INT64(       2,      T_MAY_IGNORE,   disk_size)
22         NL_STRING(      3,      T_MANDATORY,    backing_dev,    128)
23         NL_STRING(      4,      T_MANDATORY,    meta_dev,       128)
24         NL_INTEGER(     5,      T_MANDATORY,    meta_dev_idx)
25         NL_INTEGER(     6,      T_MAY_IGNORE,   on_io_error)
26         NL_INTEGER(     7,      T_MAY_IGNORE,   fencing)
27         NL_BIT(         37,     T_MAY_IGNORE,   use_bmbv)
28         NL_BIT(         53,     T_MAY_IGNORE,   no_disk_flush)
29         NL_BIT(         54,     T_MAY_IGNORE,   no_md_flush)
30           /*  55 max_bio_size was available in 8.2.6rc2 */
31         NL_INTEGER(     56,     T_MAY_IGNORE,   max_bio_bvecs)
32         NL_BIT(         57,     T_MAY_IGNORE,   no_disk_barrier)
33         NL_BIT(         58,     T_MAY_IGNORE,   no_disk_drain)
34 )
35
36 NL_PACKET(detach, 4,
37         NL_BIT(         88,     T_MANDATORY,    detach_force)
38 )
39
40 NL_PACKET(net_conf, 5,
41         NL_STRING(      8,      T_MANDATORY,    my_addr,        128)
42         NL_STRING(      9,      T_MANDATORY,    peer_addr,      128)
43         NL_STRING(      10,     T_MAY_IGNORE,   shared_secret,  SHARED_SECRET_MAX)
44         NL_STRING(      11,     T_MAY_IGNORE,   cram_hmac_alg,  SHARED_SECRET_MAX)
45         NL_STRING(      44,     T_MAY_IGNORE,   integrity_alg,  SHARED_SECRET_MAX)
46         NL_INTEGER(     14,     T_MAY_IGNORE,   timeout)
47         NL_INTEGER(     15,     T_MANDATORY,    wire_protocol)
48         NL_INTEGER(     16,     T_MAY_IGNORE,   try_connect_int)
49         NL_INTEGER(     17,     T_MAY_IGNORE,   ping_int)
50         NL_INTEGER(     18,     T_MAY_IGNORE,   max_epoch_size)
51         NL_INTEGER(     19,     T_MAY_IGNORE,   max_buffers)
52         NL_INTEGER(     20,     T_MAY_IGNORE,   unplug_watermark)
53         NL_INTEGER(     21,     T_MAY_IGNORE,   sndbuf_size)
54         NL_INTEGER(     22,     T_MAY_IGNORE,   ko_count)
55         NL_INTEGER(     24,     T_MAY_IGNORE,   after_sb_0p)
56         NL_INTEGER(     25,     T_MAY_IGNORE,   after_sb_1p)
57         NL_INTEGER(     26,     T_MAY_IGNORE,   after_sb_2p)
58         NL_INTEGER(     39,     T_MAY_IGNORE,   rr_conflict)
59         NL_INTEGER(     40,     T_MAY_IGNORE,   ping_timeo)
60         NL_INTEGER(     67,     T_MAY_IGNORE,   rcvbuf_size)
61         NL_INTEGER(     81,     T_MAY_IGNORE,   on_congestion)
62         NL_INTEGER(     82,     T_MAY_IGNORE,   cong_fill)
63         NL_INTEGER(     83,     T_MAY_IGNORE,   cong_extents)
64           /* 59 addr_family was available in GIT, never released */
65         NL_BIT(         60,     T_MANDATORY,    mind_af)
66         NL_BIT(         27,     T_MAY_IGNORE,   want_lose)
67         NL_BIT(         28,     T_MAY_IGNORE,   two_primaries)
68         NL_BIT(         41,     T_MAY_IGNORE,   always_asbp)
69         NL_BIT(         61,     T_MAY_IGNORE,   no_cork)
70         NL_BIT(         62,     T_MANDATORY,    auto_sndbuf_size)
71         NL_BIT(         70,     T_MANDATORY,    dry_run)
72 )
73
74 NL_PACKET(disconnect, 6,
75         NL_BIT(         84,     T_MAY_IGNORE,   force)
76 )
77
78 NL_PACKET(resize, 7,
79         NL_INT64(               29,     T_MAY_IGNORE,   resize_size)
80         NL_BIT(                 68,     T_MAY_IGNORE,   resize_force)
81         NL_BIT(                 69,     T_MANDATORY,    no_resync)
82 )
83
84 NL_PACKET(syncer_conf, 8,
85         NL_INTEGER(     30,     T_MAY_IGNORE,   rate)
86         NL_INTEGER(     31,     T_MAY_IGNORE,   after)
87         NL_INTEGER(     32,     T_MAY_IGNORE,   al_extents)
88 /*      NL_INTEGER(     71,     T_MAY_IGNORE,   dp_volume)
89  *      NL_INTEGER(     72,     T_MAY_IGNORE,   dp_interval)
90  *      NL_INTEGER(     73,     T_MAY_IGNORE,   throttle_th)
91  *      NL_INTEGER(     74,     T_MAY_IGNORE,   hold_off_th)
92  * feature will be reimplemented differently with 8.3.9 */
93         NL_STRING(      52,     T_MAY_IGNORE,   verify_alg,     SHARED_SECRET_MAX)
94         NL_STRING(      51,     T_MAY_IGNORE,   cpu_mask,       32)
95         NL_STRING(      64,     T_MAY_IGNORE,   csums_alg,      SHARED_SECRET_MAX)
96         NL_BIT(         65,     T_MAY_IGNORE,   use_rle)
97         NL_INTEGER(     75,     T_MAY_IGNORE,   on_no_data)
98         NL_INTEGER(     76,     T_MAY_IGNORE,   c_plan_ahead)
99         NL_INTEGER(     77,     T_MAY_IGNORE,   c_delay_target)
100         NL_INTEGER(     78,     T_MAY_IGNORE,   c_fill_target)
101         NL_INTEGER(     79,     T_MAY_IGNORE,   c_max_rate)
102         NL_INTEGER(     80,     T_MAY_IGNORE,   c_min_rate)
103 )
104
105 NL_PACKET(invalidate, 9, )
106 NL_PACKET(invalidate_peer, 10, )
107 NL_PACKET(pause_sync, 11, )
108 NL_PACKET(resume_sync, 12, )
109 NL_PACKET(suspend_io, 13, )
110 NL_PACKET(resume_io, 14, )
111 NL_PACKET(outdate, 15, )
112 NL_PACKET(get_config, 16, )
113 NL_PACKET(get_state, 17,
114         NL_INTEGER(     33,     T_MAY_IGNORE,   state_i)
115 )
116
117 NL_PACKET(get_uuids, 18,
118         NL_STRING(      34,     T_MAY_IGNORE,   uuids,  (UI_SIZE*sizeof(__u64)))
119         NL_INTEGER(     35,     T_MAY_IGNORE,   uuids_flags)
120 )
121
122 NL_PACKET(get_timeout_flag, 19,
123         NL_BIT(         36,     T_MAY_IGNORE,   use_degraded)
124 )
125
126 NL_PACKET(call_helper, 20,
127         NL_STRING(      38,     T_MAY_IGNORE,   helper,         32)
128 )
129
130 /* Tag nr 42 already allocated in drbd-8.1 development. */
131
132 NL_PACKET(sync_progress, 23,
133         NL_INTEGER(     43,     T_MAY_IGNORE,   sync_progress)
134 )
135
136 NL_PACKET(dump_ee, 24,
137         NL_STRING(      45,     T_MAY_IGNORE,   dump_ee_reason, 32)
138         NL_STRING(      46,     T_MAY_IGNORE,   seen_digest, SHARED_SECRET_MAX)
139         NL_STRING(      47,     T_MAY_IGNORE,   calc_digest, SHARED_SECRET_MAX)
140         NL_INT64(       48,     T_MAY_IGNORE,   ee_sector)
141         NL_INT64(       49,     T_MAY_IGNORE,   ee_block_id)
142         NL_STRING(      50,     T_MAY_IGNORE,   ee_data,        32 << 10)
143 )
144
145 NL_PACKET(start_ov, 25,
146         NL_INT64(       66,     T_MAY_IGNORE,   start_sector)
147 )
148
149 NL_PACKET(new_c_uuid, 26,
150        NL_BIT(          63,     T_MANDATORY,    clear_bm)
151 )
152
153 #ifdef NL_RESPONSE
154 NL_RESPONSE(return_code_only, 27)
155 #endif
156
157 #undef NL_PACKET
158 #undef NL_INTEGER
159 #undef NL_INT64
160 #undef NL_BIT
161 #undef NL_STRING
162 #undef NL_RESPONSE