aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/genl_magic_struct.h
diff options
context:
space:
mode:
authorLars Ellenberg <lars.ellenberg@linbit.com>2011-03-23 09:31:09 -0400
committerPhilipp Reisner <philipp.reisner@linbit.com>2012-11-08 10:44:20 -0500
commitf399002e68e626e7bc443e6fcab1772704cc197f (patch)
tree0d6abf88f3ebf5c619994c929d5baf728a3f579c /include/linux/genl_magic_struct.h
parent6b75dced005c7f06b81934167e36bcfc690cc3a7 (diff)
drbd: distribute former syncer_conf settings to disk, connection, and resource level
This commit breaks the API again. Move per-volume former syncer options into disk_conf. Move per-connection former syncer options into net_conf. Renamed the remainign sync_conf to res_opts Syncer settings have been changeable at runtime, so we need to prepare for these settings to be runtime-changeable in their new home as well. Introduce new configuration operations, and share the netlink attribute between "attach" (create new disk) and "disk-opts" (change options). Same for "connect" and "net-opts". Some fields cannot be changed at runtime, however. Introduce a new flag GENLA_F_INVARIANT to be able to trigger on that in the generated validation and assignment functions. Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'include/linux/genl_magic_struct.h')
-rw-r--r--include/linux/genl_magic_struct.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/include/linux/genl_magic_struct.h b/include/linux/genl_magic_struct.h
index 745ebfd6c7e5..9a605b9ee834 100644
--- a/include/linux/genl_magic_struct.h
+++ b/include/linux/genl_magic_struct.h
@@ -59,12 +59,20 @@ enum {
59 GENLA_F_MANDATORY = 1 << 14, 59 GENLA_F_MANDATORY = 1 << 14,
60 GENLA_F_REQUIRED = 1 << 15, 60 GENLA_F_REQUIRED = 1 << 15,
61 61
62 /* This will not be present in the __u16 .nla_type, but can be 62 /* Below will not be present in the __u16 .nla_type, but can be
63 * triggered on in <struct>_to_skb, to exclude "sensitive" 63 * triggered on in <struct>_to_skb resp. <struct>_from_attrs */
64 * information from broadcasts, or on unpriviledged get requests. 64
65 * This is useful because genetlink multicast groups can be listened in 65 /* To exclude "sensitive" information from broadcasts, or on
66 * on by anyone. */ 66 * unpriviledged get requests. This is useful because genetlink
67 * multicast groups can be listened in on by anyone. */
67 GENLA_F_SENSITIVE = 1 << 16, 68 GENLA_F_SENSITIVE = 1 << 16,
69
70 /* INVARIAN options cannot be changed at runtime.
71 * Useful to share an attribute policy and struct definition,
72 * between some "create" and "change" commands,
73 * but disallow certain fields to be changed online.
74 */
75 GENLA_F_INVARIANT = 1 << 17,
68}; 76};
69 77
70#define __nla_type(x) ((__u16)((__u16)(x) & (__u16)NLA_TYPE_MASK)) 78#define __nla_type(x) ((__u16)((__u16)(x) & (__u16)NLA_TYPE_MASK))