Replace the genl_magic multi-include macro system with explicit serialization and parsing. The *_gen files were initially produced from a YNL spec via a customized ynl-gen-c, but the DRBD netlink family is effectively frozen, so the generator is kept unmodified. All new functionality will land in a separate, properly-designed family. Carry the resulting code as ordinary in-tree source rather than landing the spec and generator changes that produced it. The bulk of the changes are mechanical renames to fit the YNL naming conventions: - Handler functions: drbd_adm_* -> drbd_nl_*_doit/dumpit - GENL_MAGIC_VERSION -> DRBD_FAMILY_VERSION - GENL_MAGIC_FAMILY_HDRSZ -> sizeof(struct drbd_genlmsghdr) - drbd_genl_family -> drbd_nl_family - Attribute IDs: T_* -> DRBD_A_* Remove the nested_attr_tb static global buffer and move to a per-call allocation approach: each deserialization manages its own nested attribute table. This will be needed anyway when we eventually move to parallel_ops, and it's actually simpler this way, so make the move now. Replace the functionality of the "sensitive" flag: this was only used by a single field (shared_secret); open-code redaction logic for that locally. Also replace the "invariant" flag: this only had a couple of users, and those basically never change. Hard code the check directly inline. The genl_family struct itself is defined manually in drbd_nl.c. Also replace a couple of drbd-specific wrappers (nla_put_u64_0pad, drbd_nla_find_nested) with standard kernel functions while we're at it. Finally, completely remove the genl_magic system; DRBD was its only user.
Showing the changes to include/uapi (2 of 14 files). Show all
Unified · Split
| @@ -333,6 +333,9 @@ enum drbd_uuid_index { · 332 unmodified lines | ||
| 333 | 333 | |
| 334 | 334 | #define HISTORY_UUIDS MAX_PEERS |
| 335 | 335 | |
| 336 | +#define DRBD_NL_UUIDS_SIZE (UI_SIZE * sizeof(__u64)) | |
| 337 | +#define DRBD_NL_HISTORY_UUIDS_SIZE (HISTORY_UUIDS * sizeof(__u64)) | |
| 338 | + | |
| 336 | 339 | enum drbd_timeout_flag { |
| 337 | 340 | UT_DEFAULT = 0, |
| 338 | 341 | UT_DEGRADED = 1, |
| @@ -0,0 +1,359 @@ | ||
| 1 | +/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ | |
| 2 | + | |
| 3 | +#ifndef _UAPI_LINUX_DRBD_GENL_H | |
| 4 | +#define _UAPI_LINUX_DRBD_GENL_H | |
| 5 | + | |
| 6 | +#define DRBD_FAMILY_NAME "drbd" | |
| 7 | +#define DRBD_FAMILY_VERSION 1 | |
| 8 | + | |
| 9 | +enum { | |
| 10 | + DRBD_NLA_CFG_REPLY = 1, | |
| 11 | + DRBD_NLA_CFG_CONTEXT, | |
| 12 | + DRBD_NLA_DISK_CONF, | |
| 13 | + DRBD_NLA_RESOURCE_OPTS, | |
| 14 | + DRBD_NLA_NET_CONF, | |
| 15 | + DRBD_NLA_SET_ROLE_PARMS, | |
| 16 | + DRBD_NLA_RESIZE_PARMS, | |
| 17 | + DRBD_NLA_STATE_INFO, | |
| 18 | + DRBD_NLA_START_OV_PARMS, | |
| 19 | + DRBD_NLA_NEW_C_UUID_PARMS, | |
| 20 | + DRBD_NLA_TIMEOUT_PARMS, | |
| 21 | + DRBD_NLA_DISCONNECT_PARMS, | |
| 22 | + DRBD_NLA_DETACH_PARMS, | |
| 23 | + DRBD_NLA_RESOURCE_INFO = 15, | |
| 24 | + DRBD_NLA_DEVICE_INFO, | |
| 25 | + DRBD_NLA_CONNECTION_INFO, | |
| 26 | + DRBD_NLA_PEER_DEVICE_INFO, | |
| 27 | + DRBD_NLA_RESOURCE_STATISTICS, | |
| 28 | + DRBD_NLA_DEVICE_STATISTICS, | |
| 29 | + DRBD_NLA_CONNECTION_STATISTICS, | |
| 30 | + DRBD_NLA_PEER_DEVICE_STATISTICS, | |
| 31 | + DRBD_NLA_NOTIFICATION_HEADER, | |
| 32 | + DRBD_NLA_HELPER, | |
| 33 | + | |
| 34 | + __DRBD_NLA_MAX, | |
| 35 | + DRBD_NLA_MAX = (__DRBD_NLA_MAX - 1) | |
| 36 | +}; | |
| 37 | + | |
| 38 | +enum { | |
| 39 | + DRBD_A_DRBD_CFG_REPLY_INFO_TEXT = 1, | |
| 40 | + | |
| 41 | + __DRBD_A_DRBD_CFG_REPLY_MAX, | |
| 42 | + DRBD_A_DRBD_CFG_REPLY_MAX = (__DRBD_A_DRBD_CFG_REPLY_MAX - 1) | |
| 43 | +}; | |
| 44 | + | |
| 45 | +enum { | |
| 46 | + DRBD_A_DRBD_CFG_CONTEXT_CTX_VOLUME = 1, | |
| 47 | + DRBD_A_DRBD_CFG_CONTEXT_CTX_RESOURCE_NAME, | |
| 48 | + DRBD_A_DRBD_CFG_CONTEXT_CTX_MY_ADDR, | |
| 49 | + DRBD_A_DRBD_CFG_CONTEXT_CTX_PEER_ADDR, | |
| 50 | + | |
| 51 | + __DRBD_A_DRBD_CFG_CONTEXT_MAX, | |
| 52 | + DRBD_A_DRBD_CFG_CONTEXT_MAX = (__DRBD_A_DRBD_CFG_CONTEXT_MAX - 1) | |
| 53 | +}; | |
| 54 | + | |
| 55 | +enum { | |
| 56 | + DRBD_A_DISK_CONF_BACKING_DEV = 1, | |
| 57 | + DRBD_A_DISK_CONF_META_DEV, | |
| 58 | + DRBD_A_DISK_CONF_META_DEV_IDX, | |
| 59 | + DRBD_A_DISK_CONF_DISK_SIZE, | |
| 60 | + DRBD_A_DISK_CONF_MAX_BIO_BVECS, | |
| 61 | + DRBD_A_DISK_CONF_ON_IO_ERROR, | |
| 62 | + DRBD_A_DISK_CONF_FENCING, | |
| 63 | + DRBD_A_DISK_CONF_RESYNC_RATE, | |
| 64 | + DRBD_A_DISK_CONF_RESYNC_AFTER, | |
| 65 | + DRBD_A_DISK_CONF_AL_EXTENTS, | |
| 66 | + DRBD_A_DISK_CONF_C_PLAN_AHEAD, | |
| 67 | + DRBD_A_DISK_CONF_C_DELAY_TARGET, | |
| 68 | + DRBD_A_DISK_CONF_C_FILL_TARGET, | |
| 69 | + DRBD_A_DISK_CONF_C_MAX_RATE, | |
| 70 | + DRBD_A_DISK_CONF_C_MIN_RATE, | |
| 71 | + DRBD_A_DISK_CONF_DISK_BARRIER, | |
| 72 | + DRBD_A_DISK_CONF_DISK_FLUSHES, | |
| 73 | + DRBD_A_DISK_CONF_DISK_DRAIN, | |
| 74 | + DRBD_A_DISK_CONF_MD_FLUSHES, | |
| 75 | + DRBD_A_DISK_CONF_DISK_TIMEOUT, | |
| 76 | + DRBD_A_DISK_CONF_READ_BALANCING, | |
| 77 | + DRBD_A_DISK_CONF_AL_UPDATES = 23, | |
| 78 | + DRBD_A_DISK_CONF_DISCARD_ZEROES_IF_ALIGNED, | |
| 79 | + DRBD_A_DISK_CONF_RS_DISCARD_GRANULARITY, | |
| 80 | + DRBD_A_DISK_CONF_DISABLE_WRITE_SAME, | |
| 81 | + | |
| 82 | + __DRBD_A_DISK_CONF_MAX, | |
| 83 | + DRBD_A_DISK_CONF_MAX = (__DRBD_A_DISK_CONF_MAX - 1) | |
| 84 | +}; | |
| 85 | + | |
| 86 | +enum { | |
| 87 | + DRBD_A_RES_OPTS_CPU_MASK = 1, | |
| 88 | + DRBD_A_RES_OPTS_ON_NO_DATA, | |
| 89 | + | |
| 90 | + __DRBD_A_RES_OPTS_MAX, | |
| 91 | + DRBD_A_RES_OPTS_MAX = (__DRBD_A_RES_OPTS_MAX - 1) | |
| 92 | +}; | |
| 93 | + | |
| 94 | +enum { | |
| 95 | + DRBD_A_NET_CONF_SHARED_SECRET = 1, | |
| 96 | + DRBD_A_NET_CONF_CRAM_HMAC_ALG, | |
| 97 | + DRBD_A_NET_CONF_INTEGRITY_ALG, | |
| 98 | + DRBD_A_NET_CONF_VERIFY_ALG, | |
| 99 | + DRBD_A_NET_CONF_CSUMS_ALG, | |
| 100 | + DRBD_A_NET_CONF_WIRE_PROTOCOL, | |
| 101 | + DRBD_A_NET_CONF_CONNECT_INT, | |
| 102 | + DRBD_A_NET_CONF_TIMEOUT, | |
| 103 | + DRBD_A_NET_CONF_PING_INT, | |
| 104 | + DRBD_A_NET_CONF_PING_TIMEO, | |
| 105 | + DRBD_A_NET_CONF_SNDBUF_SIZE, | |
| 106 | + DRBD_A_NET_CONF_RCVBUF_SIZE, | |
| 107 | + DRBD_A_NET_CONF_KO_COUNT, | |
| 108 | + DRBD_A_NET_CONF_MAX_BUFFERS, | |
| 109 | + DRBD_A_NET_CONF_MAX_EPOCH_SIZE, | |
| 110 | + DRBD_A_NET_CONF_UNPLUG_WATERMARK, | |
| 111 | + DRBD_A_NET_CONF_AFTER_SB_0P, | |
| 112 | + DRBD_A_NET_CONF_AFTER_SB_1P, | |
| 113 | + DRBD_A_NET_CONF_AFTER_SB_2P, | |
| 114 | + DRBD_A_NET_CONF_RR_CONFLICT, | |
| 115 | + DRBD_A_NET_CONF_ON_CONGESTION, | |
| 116 | + DRBD_A_NET_CONF_CONG_FILL, | |
| 117 | + DRBD_A_NET_CONF_CONG_EXTENTS, | |
| 118 | + DRBD_A_NET_CONF_TWO_PRIMARIES, | |
| 119 | + DRBD_A_NET_CONF_DISCARD_MY_DATA, | |
| 120 | + DRBD_A_NET_CONF_TCP_CORK, | |
| 121 | + DRBD_A_NET_CONF_ALWAYS_ASBP, | |
| 122 | + DRBD_A_NET_CONF_TENTATIVE, | |
| 123 | + DRBD_A_NET_CONF_USE_RLE, | |
| 124 | + DRBD_A_NET_CONF_CSUMS_AFTER_CRASH_ONLY = 33, | |
| 125 | + DRBD_A_NET_CONF_SOCK_CHECK_TIMEO, | |
| 126 | + | |
| 127 | + __DRBD_A_NET_CONF_MAX, | |
| 128 | + DRBD_A_NET_CONF_MAX = (__DRBD_A_NET_CONF_MAX - 1) | |
| 129 | +}; | |
| 130 | + | |
| 131 | +enum { | |
| 132 | + DRBD_A_SET_ROLE_PARMS_ASSUME_UPTODATE = 1, | |
| 133 | + | |
| 134 | + __DRBD_A_SET_ROLE_PARMS_MAX, | |
| 135 | + DRBD_A_SET_ROLE_PARMS_MAX = (__DRBD_A_SET_ROLE_PARMS_MAX - 1) | |
| 136 | +}; | |
| 137 | + | |
| 138 | +enum { | |
| 139 | + DRBD_A_RESIZE_PARMS_RESIZE_SIZE = 1, | |
| 140 | + DRBD_A_RESIZE_PARMS_RESIZE_FORCE, | |
| 141 | + DRBD_A_RESIZE_PARMS_NO_RESYNC, | |
| 142 | + DRBD_A_RESIZE_PARMS_AL_STRIPES, | |
| 143 | + DRBD_A_RESIZE_PARMS_AL_STRIPE_SIZE, | |
| 144 | + | |
| 145 | + __DRBD_A_RESIZE_PARMS_MAX, | |
| 146 | + DRBD_A_RESIZE_PARMS_MAX = (__DRBD_A_RESIZE_PARMS_MAX - 1) | |
| 147 | +}; | |
| 148 | + | |
| 149 | +enum { | |
| 150 | + DRBD_A_STATE_INFO_SIB_REASON = 1, | |
| 151 | + DRBD_A_STATE_INFO_CURRENT_STATE, | |
| 152 | + DRBD_A_STATE_INFO_CAPACITY, | |
| 153 | + DRBD_A_STATE_INFO_ED_UUID, | |
| 154 | + DRBD_A_STATE_INFO_PREV_STATE, | |
| 155 | + DRBD_A_STATE_INFO_NEW_STATE, | |
| 156 | + DRBD_A_STATE_INFO_UUIDS, | |
| 157 | + DRBD_A_STATE_INFO_DISK_FLAGS, | |
| 158 | + DRBD_A_STATE_INFO_BITS_TOTAL, | |
| 159 | + DRBD_A_STATE_INFO_BITS_OOS, | |
| 160 | + DRBD_A_STATE_INFO_BITS_RS_TOTAL, | |
| 161 | + DRBD_A_STATE_INFO_BITS_RS_FAILED, | |
| 162 | + DRBD_A_STATE_INFO_HELPER, | |
| 163 | + DRBD_A_STATE_INFO_HELPER_EXIT_CODE, | |
| 164 | + DRBD_A_STATE_INFO_SEND_CNT, | |
| 165 | + DRBD_A_STATE_INFO_RECV_CNT, | |
| 166 | + DRBD_A_STATE_INFO_READ_CNT, | |
| 167 | + DRBD_A_STATE_INFO_WRIT_CNT, | |
| 168 | + DRBD_A_STATE_INFO_AL_WRIT_CNT, | |
| 169 | + DRBD_A_STATE_INFO_BM_WRIT_CNT, | |
| 170 | + DRBD_A_STATE_INFO_AP_BIO_CNT, | |
| 171 | + DRBD_A_STATE_INFO_AP_PENDING_CNT, | |
| 172 | + DRBD_A_STATE_INFO_RS_PENDING_CNT, | |
| 173 | + | |
| 174 | + __DRBD_A_STATE_INFO_MAX, | |
| 175 | + DRBD_A_STATE_INFO_MAX = (__DRBD_A_STATE_INFO_MAX - 1) | |
| 176 | +}; | |
| 177 | + | |
| 178 | +enum { | |
| 179 | + DRBD_A_START_OV_PARMS_OV_START_SECTOR = 1, | |
| 180 | + DRBD_A_START_OV_PARMS_OV_STOP_SECTOR, | |
| 181 | + | |
| 182 | + __DRBD_A_START_OV_PARMS_MAX, | |
| 183 | + DRBD_A_START_OV_PARMS_MAX = (__DRBD_A_START_OV_PARMS_MAX - 1) | |
| 184 | +}; | |
| 185 | + | |
| 186 | +enum { | |
| 187 | + DRBD_A_NEW_C_UUID_PARMS_CLEAR_BM = 1, | |
| 188 | + | |
| 189 | + __DRBD_A_NEW_C_UUID_PARMS_MAX, | |
| 190 | + DRBD_A_NEW_C_UUID_PARMS_MAX = (__DRBD_A_NEW_C_UUID_PARMS_MAX - 1) | |
| 191 | +}; | |
| 192 | + | |
| 193 | +enum { | |
| 194 | + DRBD_A_TIMEOUT_PARMS_TIMEOUT_TYPE = 1, | |
| 195 | + | |
| 196 | + __DRBD_A_TIMEOUT_PARMS_MAX, | |
| 197 | + DRBD_A_TIMEOUT_PARMS_MAX = (__DRBD_A_TIMEOUT_PARMS_MAX - 1) | |
| 198 | +}; | |
| 199 | + | |
| 200 | +enum { | |
| 201 | + DRBD_A_DISCONNECT_PARMS_FORCE_DISCONNECT = 1, | |
| 202 | + | |
| 203 | + __DRBD_A_DISCONNECT_PARMS_MAX, | |
| 204 | + DRBD_A_DISCONNECT_PARMS_MAX = (__DRBD_A_DISCONNECT_PARMS_MAX - 1) | |
| 205 | +}; | |
| 206 | + | |
| 207 | +enum { | |
| 208 | + DRBD_A_DETACH_PARMS_FORCE_DETACH = 1, | |
| 209 | + | |
| 210 | + __DRBD_A_DETACH_PARMS_MAX, | |
| 211 | + DRBD_A_DETACH_PARMS_MAX = (__DRBD_A_DETACH_PARMS_MAX - 1) | |
| 212 | +}; | |
| 213 | + | |
| 214 | +enum { | |
| 215 | + DRBD_A_RESOURCE_INFO_RES_ROLE = 1, | |
| 216 | + DRBD_A_RESOURCE_INFO_RES_SUSP, | |
| 217 | + DRBD_A_RESOURCE_INFO_RES_SUSP_NOD, | |
| 218 | + DRBD_A_RESOURCE_INFO_RES_SUSP_FEN, | |
| 219 | + | |
| 220 | + __DRBD_A_RESOURCE_INFO_MAX, | |
| 221 | + DRBD_A_RESOURCE_INFO_MAX = (__DRBD_A_RESOURCE_INFO_MAX - 1) | |
| 222 | +}; | |
| 223 | + | |
| 224 | +enum { | |
| 225 | + DRBD_A_DEVICE_INFO_DEV_DISK_STATE = 1, | |
| 226 | + | |
| 227 | + __DRBD_A_DEVICE_INFO_MAX, | |
| 228 | + DRBD_A_DEVICE_INFO_MAX = (__DRBD_A_DEVICE_INFO_MAX - 1) | |
| 229 | +}; | |
| 230 | + | |
| 231 | +enum { | |
| 232 | + DRBD_A_CONNECTION_INFO_CONN_CONNECTION_STATE = 1, | |
| 233 | + DRBD_A_CONNECTION_INFO_CONN_ROLE, | |
| 234 | + | |
| 235 | + __DRBD_A_CONNECTION_INFO_MAX, | |
| 236 | + DRBD_A_CONNECTION_INFO_MAX = (__DRBD_A_CONNECTION_INFO_MAX - 1) | |
| 237 | +}; | |
| 238 | + | |
| 239 | +enum { | |
| 240 | + DRBD_A_PEER_DEVICE_INFO_PEER_REPL_STATE = 1, | |
| 241 | + DRBD_A_PEER_DEVICE_INFO_PEER_DISK_STATE, | |
| 242 | + DRBD_A_PEER_DEVICE_INFO_PEER_RESYNC_SUSP_USER, | |
| 243 | + DRBD_A_PEER_DEVICE_INFO_PEER_RESYNC_SUSP_PEER, | |
| 244 | + DRBD_A_PEER_DEVICE_INFO_PEER_RESYNC_SUSP_DEPENDENCY, | |
| 245 | + | |
| 246 | + __DRBD_A_PEER_DEVICE_INFO_MAX, | |
| 247 | + DRBD_A_PEER_DEVICE_INFO_MAX = (__DRBD_A_PEER_DEVICE_INFO_MAX - 1) | |
| 248 | +}; | |
| 249 | + | |
| 250 | +enum { | |
| 251 | + DRBD_A_RESOURCE_STATISTICS_RES_STAT_WRITE_ORDERING = 1, | |
| 252 | + | |
| 253 | + __DRBD_A_RESOURCE_STATISTICS_MAX, | |
| 254 | + DRBD_A_RESOURCE_STATISTICS_MAX = (__DRBD_A_RESOURCE_STATISTICS_MAX - 1) | |
| 255 | +}; | |
| 256 | + | |
| 257 | +enum { | |
| 258 | + DRBD_A_DEVICE_STATISTICS_DEV_SIZE = 1, | |
| 259 | + DRBD_A_DEVICE_STATISTICS_DEV_READ, | |
| 260 | + DRBD_A_DEVICE_STATISTICS_DEV_WRITE, | |
| 261 | + DRBD_A_DEVICE_STATISTICS_DEV_AL_WRITES, | |
| 262 | + DRBD_A_DEVICE_STATISTICS_DEV_BM_WRITES, | |
| 263 | + DRBD_A_DEVICE_STATISTICS_DEV_UPPER_PENDING, | |
| 264 | + DRBD_A_DEVICE_STATISTICS_DEV_LOWER_PENDING, | |
| 265 | + DRBD_A_DEVICE_STATISTICS_DEV_UPPER_BLOCKED, | |
| 266 | + DRBD_A_DEVICE_STATISTICS_DEV_LOWER_BLOCKED, | |
| 267 | + DRBD_A_DEVICE_STATISTICS_DEV_AL_SUSPENDED, | |
| 268 | + DRBD_A_DEVICE_STATISTICS_DEV_EXPOSED_DATA_UUID, | |
| 269 | + DRBD_A_DEVICE_STATISTICS_DEV_CURRENT_UUID, | |
| 270 | + DRBD_A_DEVICE_STATISTICS_DEV_DISK_FLAGS, | |
| 271 | + DRBD_A_DEVICE_STATISTICS_HISTORY_UUIDS, | |
| 272 | + | |
| 273 | + __DRBD_A_DEVICE_STATISTICS_MAX, | |
| 274 | + DRBD_A_DEVICE_STATISTICS_MAX = (__DRBD_A_DEVICE_STATISTICS_MAX - 1) | |
| 275 | +}; | |
| 276 | + | |
| 277 | +enum { | |
| 278 | + DRBD_A_CONNECTION_STATISTICS_CONN_CONGESTED = 1, | |
| 279 | + | |
| 280 | + __DRBD_A_CONNECTION_STATISTICS_MAX, | |
| 281 | + DRBD_A_CONNECTION_STATISTICS_MAX = (__DRBD_A_CONNECTION_STATISTICS_MAX - 1) | |
| 282 | +}; | |
| 283 | + | |
| 284 | +enum { | |
| 285 | + DRBD_A_PEER_DEVICE_STATISTICS_PEER_DEV_RECEIVED = 1, | |
| 286 | + DRBD_A_PEER_DEVICE_STATISTICS_PEER_DEV_SENT, | |
| 287 | + DRBD_A_PEER_DEVICE_STATISTICS_PEER_DEV_PENDING, | |
| 288 | + DRBD_A_PEER_DEVICE_STATISTICS_PEER_DEV_UNACKED, | |
| 289 | + DRBD_A_PEER_DEVICE_STATISTICS_PEER_DEV_OUT_OF_SYNC, | |
| 290 | + DRBD_A_PEER_DEVICE_STATISTICS_PEER_DEV_RESYNC_FAILED, | |
| 291 | + DRBD_A_PEER_DEVICE_STATISTICS_PEER_DEV_BITMAP_UUID, | |
| 292 | + DRBD_A_PEER_DEVICE_STATISTICS_PEER_DEV_FLAGS = 9, | |
| 293 | + | |
| 294 | + __DRBD_A_PEER_DEVICE_STATISTICS_MAX, | |
| 295 | + DRBD_A_PEER_DEVICE_STATISTICS_MAX = (__DRBD_A_PEER_DEVICE_STATISTICS_MAX - 1) | |
| 296 | +}; | |
| 297 | + | |
| 298 | +enum { | |
| 299 | + DRBD_A_DRBD_NOTIFICATION_HEADER_NH_TYPE = 1, | |
| 300 | + | |
| 301 | + __DRBD_A_DRBD_NOTIFICATION_HEADER_MAX, | |
| 302 | + DRBD_A_DRBD_NOTIFICATION_HEADER_MAX = (__DRBD_A_DRBD_NOTIFICATION_HEADER_MAX - 1) | |
| 303 | +}; | |
| 304 | + | |
| 305 | +enum { | |
| 306 | + DRBD_A_DRBD_HELPER_INFO_HELPER_NAME = 1, | |
| 307 | + DRBD_A_DRBD_HELPER_INFO_HELPER_STATUS, | |
| 308 | + | |
| 309 | + __DRBD_A_DRBD_HELPER_INFO_MAX, | |
| 310 | + DRBD_A_DRBD_HELPER_INFO_MAX = (__DRBD_A_DRBD_HELPER_INFO_MAX - 1) | |
| 311 | +}; | |
| 312 | + | |
| 313 | +enum { | |
| 314 | + DRBD_ADM_EVENT = 1, | |
| 315 | + DRBD_ADM_GET_STATUS, | |
| 316 | + DRBD_ADM_NEW_MINOR = 5, | |
| 317 | + DRBD_ADM_DEL_MINOR, | |
| 318 | + DRBD_ADM_NEW_RESOURCE, | |
| 319 | + DRBD_ADM_DEL_RESOURCE, | |
| 320 | + DRBD_ADM_RESOURCE_OPTS, | |
| 321 | + DRBD_ADM_CONNECT, | |
| 322 | + DRBD_ADM_DISCONNECT, | |
| 323 | + DRBD_ADM_ATTACH, | |
| 324 | + DRBD_ADM_RESIZE, | |
| 325 | + DRBD_ADM_PRIMARY, | |
| 326 | + DRBD_ADM_SECONDARY, | |
| 327 | + DRBD_ADM_NEW_C_UUID, | |
| 328 | + DRBD_ADM_START_OV, | |
| 329 | + DRBD_ADM_DETACH, | |
| 330 | + DRBD_ADM_INVALIDATE, | |
| 331 | + DRBD_ADM_INVAL_PEER, | |
| 332 | + DRBD_ADM_PAUSE_SYNC, | |
| 333 | + DRBD_ADM_RESUME_SYNC, | |
| 334 | + DRBD_ADM_SUSPEND_IO, | |
| 335 | + DRBD_ADM_RESUME_IO, | |
| 336 | + DRBD_ADM_OUTDATE, | |
| 337 | + DRBD_ADM_GET_TIMEOUT_TYPE, | |
| 338 | + DRBD_ADM_DOWN, | |
| 339 | + DRBD_ADM_CHG_DISK_OPTS, | |
| 340 | + DRBD_ADM_CHG_NET_OPTS, | |
| 341 | + DRBD_ADM_GET_RESOURCES, | |
| 342 | + DRBD_ADM_GET_DEVICES, | |
| 343 | + DRBD_ADM_GET_CONNECTIONS, | |
| 344 | + DRBD_ADM_GET_PEER_DEVICES, | |
| 345 | + DRBD_ADM_RESOURCE_STATE, | |
| 346 | + DRBD_ADM_DEVICE_STATE, | |
| 347 | + DRBD_ADM_CONNECTION_STATE, | |
| 348 | + DRBD_ADM_PEER_DEVICE_STATE, | |
| 349 | + DRBD_ADM_GET_INITIAL_STATE, | |
| 350 | + DRBD_ADM_HELPER = 40, | |
| 351 | + DRBD_ADM_INITIAL_STATE_DONE, | |
| 352 | + | |
| 353 | + __DRBD_ADM_MAX, | |
| 354 | + DRBD_ADM_MAX = (__DRBD_ADM_MAX - 1) | |
| 355 | +}; | |
| 356 | + | |
| 357 | +#define DRBD_MCGRP_EVENTS "events" | |
| 358 | + | |
| 359 | +#endif /* _UAPI_LINUX_DRBD_GENL_H */ | |