[PATCH 3/4] staging: lustre: fixed signedness of lov

Stefano Manni stefano.manni at gmail.com
Wed Nov 22 19:38:30 UTC 2017


sparse warning on lov_obd.c:
warning: incorrect type in argument 3 (different signedness)
expected int *res
got unsigned int [usertype] *i

sparse warning on lov_offset.c:
warning: incorrect type in argument 4 (different signedness)
expected long long [usertype] *<noident>
got unsigned long long *<noident>

Signed-off-by: Stefano Manni <stefano.manni at gmail.com>
---
 drivers/staging/lustre/lustre/lov/lov_obd.c    |  2 +-
 drivers/staging/lustre/lustre/lov/lov_offset.c | 11 +++++++----
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/lustre/lustre/lov/lov_obd.c b/drivers/staging/lustre/lustre/lov/lov_obd.c
index 7ce0102..3cccd79 100644
--- a/drivers/staging/lustre/lustre/lov/lov_obd.c
+++ b/drivers/staging/lustre/lustre/lov/lov_obd.c
@@ -899,7 +899,7 @@ int lov_process_config_base(struct obd_device *obd, struct lustre_cfg *lcfg,
 
 		obd_str2uuid(&obd_uuid,  lustre_cfg_buf(lcfg, 1));
 
-		rc = kstrtoint(lustre_cfg_buf(lcfg, 2), 10, indexp);
+		rc = kstrtouint(lustre_cfg_buf(lcfg, 2), 10, indexp);
 		if (rc < 0)
 			goto out;
 		rc = kstrtoint(lustre_cfg_buf(lcfg, 3), 10, genp);
diff --git a/drivers/staging/lustre/lustre/lov/lov_offset.c b/drivers/staging/lustre/lustre/lov/lov_offset.c
index 3e16e64..954a01b 100644
--- a/drivers/staging/lustre/lustre/lov/lov_offset.c
+++ b/drivers/staging/lustre/lustre/lov/lov_offset.c
@@ -44,7 +44,7 @@ u64 lov_stripe_size(struct lov_stripe_md *lsm, u64 ost_size, int stripeno)
 {
 	unsigned long ssize = lsm->lsm_stripe_size;
 	unsigned long stripe_size;
-	u64 swidth;
+	long long swidth;
 	u64 lov_size;
 	int magic = lsm->lsm_magic;
 
@@ -128,7 +128,8 @@ int lov_stripe_offset(struct lov_stripe_md *lsm, u64 lov_off,
 		      int stripeno, u64 *obdoff)
 {
 	unsigned long ssize  = lsm->lsm_stripe_size;
-	u64 stripe_off, this_stripe, swidth;
+	long long swidth;
+	u64 stripe_off, this_stripe;
 	int magic = lsm->lsm_magic;
 	int ret = 0;
 
@@ -183,7 +184,8 @@ u64 lov_size_to_stripe(struct lov_stripe_md *lsm, u64 file_size,
 		       int stripeno)
 {
 	unsigned long ssize  = lsm->lsm_stripe_size;
-	u64 stripe_off, this_stripe, swidth;
+	long long swidth;
+	u64 stripe_off, this_stripe;
 	int magic = lsm->lsm_magic;
 
 	if (file_size == OBD_OBJECT_EOF)
@@ -257,7 +259,8 @@ int lov_stripe_intersects(struct lov_stripe_md *lsm, int stripeno,
 int lov_stripe_number(struct lov_stripe_md *lsm, u64 lov_off)
 {
 	unsigned long ssize  = lsm->lsm_stripe_size;
-	u64 stripe_off, swidth;
+	long long swidth;
+	u64 stripe_off;
 	int magic = lsm->lsm_magic;
 
 	lsm_op_find(magic)->lsm_stripe_by_offset(lsm, NULL, &lov_off, &swidth);
-- 
2.5.5



More information about the devel mailing list