drbd: Convert boolean flags on netlink from NLA_FLAG to NLA_U8
authorAndreas Gruenbacher <agruen@linbit.com>
Wed, 4 May 2011 14:06:51 +0000 (16:06 +0200)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 8 Nov 2012 15:55:45 +0000 (16:55 +0100)
Flags of type NLA_FLAG are either present or absent, but do not have a
value by themselves.  Use type NLA_U8 for our boolean flags instead, and
use the value to determine if the flag should be on or off.

On the drbdsetup command line, all those flags have an optional yes/no
argument which defaults to yes.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
include/linux/genl_magic_struct.h

index ddbdd0a24476491b3417b0ce127c3dc8efc62c56..b1ddbb5bd7256f83945cb06d9afea81816726273 100644 (file)
@@ -86,8 +86,8 @@ enum {
 
 /* possible field types */
 #define __flg_field(attr_nr, attr_flag, name) \
-       __field(attr_nr, attr_flag, name, NLA_FLAG, char, \
-                       nla_get_flag, __nla_put_flag)
+       __field(attr_nr, attr_flag, name, NLA_U8, char, \
+                       nla_get_u8, NLA_PUT_U8)
 #define __u8_field(attr_nr, attr_flag, name)   \
        __field(attr_nr, attr_flag, name, NLA_U8, unsigned char, \
                        nla_get_u8, NLA_PUT_U8)
@@ -118,12 +118,6 @@ enum {
 #define __str_field_def(attr_nr, attr_flag, name, maxlen) \
        __str_field(attr_nr, attr_flag, name, maxlen)
 
-#define __nla_put_flag(skb, attrtype, value)           \
-       do {                                            \
-               if (value)                              \
-                       NLA_PUT_FLAG(skb, attrtype);    \
-       } while (0)
-
 #define GENL_op_init(args...)  args
 #define GENL_doit(handler)             \
        .doit = handler,                \