diff options
author | Lars Ellenberg <lars.ellenberg@linbit.com> | 2011-03-23 09:31:09 -0400 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2012-11-08 10:44:20 -0500 |
commit | f399002e68e626e7bc443e6fcab1772704cc197f (patch) | |
tree | 0d6abf88f3ebf5c619994c929d5baf728a3f579c /include/linux/genl_magic_struct.h | |
parent | 6b75dced005c7f06b81934167e36bcfc690cc3a7 (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.h | 18 |
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)) |