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

2017-11-24 Thread Greg Kroah-Hartman
On Wed, Nov 22, 2017 at 08:38:30PM +0100, Stefano Manni wrote:
> 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] *
> got unsigned long long *

Can you not line-wrap these sparse warning lines, it makes them hard to
read.  It's ok to leave them as very long lines in the changelog.

> 
> Signed-off-by: Stefano Manni 
> ---
>  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(_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;

This feels wrong, u64 should be used instead, can the code be fixed up
to use that type properly?  Don't rely on long long anywhere, it's hard
to always know what it should be on all arches...

Please fix up and resend this series based on the reviews you've gotten
so far.

thanks,

greg k-h
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


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

2017-11-22 Thread Stefano Manni
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] *
got unsigned long long *

Signed-off-by: Stefano Manni 
---
 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(_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, _off, );
-- 
2.5.5

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel