diff options
| -rw-r--r-- | drivers/block/drbd/drbd_nl.c | 8 | ||||
| -rw-r--r-- | include/linux/drbd_genl.h | 2 | ||||
| -rw-r--r-- | include/linux/genl_magic_struct.h | 3 | 
3 files changed, 8 insertions, 5 deletions
diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c index a1854e3aa15..b8ea4807c98 100644 --- a/drivers/block/drbd/drbd_nl.c +++ b/drivers/block/drbd/drbd_nl.c @@ -1253,7 +1253,7 @@ int drbd_adm_attach(struct sk_buff *skb, struct genl_info *info)  		goto fail;  	} -	if ((int)nbc->dc.meta_dev_idx < DRBD_MD_INDEX_FLEX_INT) { +	if (nbc->dc.meta_dev_idx < DRBD_MD_INDEX_FLEX_INT) {  		retcode = ERR_MD_IDX_INVALID;  		goto fail;  	} @@ -1289,7 +1289,7 @@ int drbd_adm_attach(struct sk_buff *skb, struct genl_info *info)  	 */  	bdev = blkdev_get_by_path(nbc->dc.meta_dev,  				  FMODE_READ | FMODE_WRITE | FMODE_EXCL, -				  ((int)nbc->dc.meta_dev_idx < 0) ? +				  (nbc->dc.meta_dev_idx < 0) ?  				  (void *)mdev : (void *)drbd_m_holder);  	if (IS_ERR(bdev)) {  		dev_err(DEV, "open(\"%s\") failed with %ld\n", nbc->dc.meta_dev, @@ -1325,7 +1325,7 @@ int drbd_adm_attach(struct sk_buff *skb, struct genl_info *info)  		goto fail;  	} -	if ((int)nbc->dc.meta_dev_idx < 0) { +	if (nbc->dc.meta_dev_idx < 0) {  		max_possible_sectors = DRBD_MAX_SECTORS_FLEX;  		/* at least one MB, otherwise it does not make sense */  		min_md_device_sectors = (2<<10); @@ -1356,7 +1356,7 @@ int drbd_adm_attach(struct sk_buff *skb, struct genl_info *info)  		dev_warn(DEV, "==> truncating very big lower level device "  			"to currently maximum possible %llu sectors <==\n",  			(unsigned long long) max_possible_sectors); -		if ((int)nbc->dc.meta_dev_idx >= 0) +		if (nbc->dc.meta_dev_idx >= 0)  			dev_warn(DEV, "==>> using internal or flexible "  				      "meta data may help <<==\n");  	} diff --git a/include/linux/drbd_genl.h b/include/linux/drbd_genl.h index 549800668cb..f143e3c0f33 100644 --- a/include/linux/drbd_genl.h +++ b/include/linux/drbd_genl.h @@ -102,7 +102,7 @@ GENL_struct(DRBD_NLA_CFG_CONTEXT, 2, drbd_cfg_context,  GENL_struct(DRBD_NLA_DISK_CONF, 3, disk_conf,  	__str_field(1, GENLA_F_REQUIRED | GENLA_F_INVARIANT,	backing_dev,	128)  	__str_field(2, GENLA_F_REQUIRED | GENLA_F_INVARIANT,	meta_dev,	128) -	__u32_field(3, GENLA_F_REQUIRED | GENLA_F_INVARIANT,	meta_dev_idx) +	__s32_field(3, GENLA_F_REQUIRED | GENLA_F_INVARIANT,	meta_dev_idx)  	/* use the resize command to try and change the disk_size */  	__u64_field(4, GENLA_F_MANDATORY | GENLA_F_INVARIANT,	disk_size) diff --git a/include/linux/genl_magic_struct.h b/include/linux/genl_magic_struct.h index f2c7cc7831d..ddbdd0a2447 100644 --- a/include/linux/genl_magic_struct.h +++ b/include/linux/genl_magic_struct.h @@ -97,6 +97,9 @@ enum {  #define __u32_field(attr_nr, attr_flag, name)	\  	__field(attr_nr, attr_flag, name, NLA_U32, __u32, \  			nla_get_u32, NLA_PUT_U32) +#define __s32_field(attr_nr, attr_flag, name)	\ +	__field(attr_nr, attr_flag, name, NLA_U32, __s32, \ +			nla_get_u32, NLA_PUT_U32)  #define __u64_field(attr_nr, attr_flag, name)	\  	__field(attr_nr, attr_flag, name, NLA_U64, __u64, \  			nla_get_u64, NLA_PUT_U64)  |