summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruen@linbit.com>2011-05-12 12:02:54 +0200
committerPhilipp Reisner <philipp.reisner@linbit.com>2012-11-08 16:55:51 +0100
commit3a45abd577727d2268e190d372600f8652883453 (patch)
tree07e82f5571b839c2aa237ef6cb557f1acb9a4dbd
parentdrbd: Fix the upper limit of resync-after (diff)
downloadlinux-3a45abd577727d2268e190d372600f8652883453.tar.xz
linux-3a45abd577727d2268e190d372600f8652883453.zip
drbd: Convert resync-after into a signed netlink field
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
-rw-r--r--include/linux/drbd_genl.h2
-rw-r--r--include/linux/genl_magic_func.h3
-rw-r--r--include/linux/genl_magic_struct.h2
3 files changed, 6 insertions, 1 deletions
diff --git a/include/linux/drbd_genl.h b/include/linux/drbd_genl.h
index a59466f7f661..7b174a093a8d 100644
--- a/include/linux/drbd_genl.h
+++ b/include/linux/drbd_genl.h
@@ -114,7 +114,7 @@ GENL_struct(DRBD_NLA_DISK_CONF, 3, disk_conf,
__u32_field_def(7, GENLA_F_MANDATORY, fencing, DRBD_FENCING_DEF)
__u32_field_def(8, GENLA_F_MANDATORY, resync_rate, DRBD_RESYNC_RATE_DEF)
- __u32_field_def(9, GENLA_F_MANDATORY, resync_after, DRBD_RESYNC_AFTER_DEF)
+ __s32_field_def(9, GENLA_F_MANDATORY, resync_after, DRBD_RESYNC_AFTER_DEF)
__u32_field_def(10, GENLA_F_MANDATORY, al_extents, DRBD_AL_EXTENTS_DEF)
__u32_field_def(11, GENLA_F_MANDATORY, c_plan_ahead, DRBD_C_PLAN_AHEAD_DEF)
__u32_field_def(12, GENLA_F_MANDATORY, c_delay_target, DRBD_C_DELAY_TARGET_DEF)
diff --git a/include/linux/genl_magic_func.h b/include/linux/genl_magic_func.h
index e908f1c50355..94e839aafae3 100644
--- a/include/linux/genl_magic_func.h
+++ b/include/linux/genl_magic_func.h
@@ -437,6 +437,9 @@ static inline int s_name ## _to_unpriv_skb(struct sk_buff *skb, \
#undef __u32_field_def
#define __u32_field_def(attr_nr, attr_flag, name, default) \
x->name = default;
+#undef __s32_field_def
+#define __s32_field_def(attr_nr, attr_flag, name, default) \
+ x->name = default;
#undef __flg_field_def
#define __flg_field_def(attr_nr, attr_flag, name, default) \
x->name = default;
diff --git a/include/linux/genl_magic_struct.h b/include/linux/genl_magic_struct.h
index b1ddbb5bd725..0fca21fd1af5 100644
--- a/include/linux/genl_magic_struct.h
+++ b/include/linux/genl_magic_struct.h
@@ -115,6 +115,8 @@ enum {
__flg_field(attr_nr, attr_flag, name)
#define __u32_field_def(attr_nr, attr_flag, name, default) \
__u32_field(attr_nr, attr_flag, name)
+#define __s32_field_def(attr_nr, attr_flag, name, default) \
+ __s32_field(attr_nr, attr_flag, name)
#define __str_field_def(attr_nr, attr_flag, name, maxlen) \
__str_field(attr_nr, attr_flag, name, maxlen)