[lustre-devel] [PATCH 1/6] staging: lustre: lustre: resolve "use spaces between elements" checkpatch errors

James Simmons jsimmons at infradead.org
Thu Jun 15 09:57:14 PDT 2017


> On Thu, 2017-06-15 at 17:03 +0100, James Simmons wrote:
> > > On Wed, 2017-06-14 at 11:01 -0400, James Simmons wrote:
> > > > Due to the way the DFID was embedded in our debug strings checkpatch
> > > > would report the following error:
> > > 
> > > unrelated trivia
> > > 
> > > > diff --git a/drivers/staging/lustre/lustre/include/lustre/lustre_user.h b/drivers/staging/lustre/lustre/include/lustre/lustre_user.h
> > > 
> > > []
> > > > @@ -532,7 +532,7 @@ static inline void obd_uuid2fsname(char *buf, char *uuid, int buflen)
> > > >  #define FID_NOBRACE_LEN 40
> > > >  #define FID_LEN (FID_NOBRACE_LEN + 2)
> > > >  #define DFID_NOBRACE "%#llx:0x%x:0x%x"
> > > 
> > > It's odd to use a mixture of %#x and 0x%x.
> > > 
> > > Using
> > > 	#define DFID_NOBRACE "%#llx:%#x:%#x"
> > > would also save a couple bytes per use.
> > 
> > Changing that format would break things very badly. This is used in user 
> > land utilities and the kernel code. 
> 
> Really?  Why would anything break?

It shouldn't break anything but I'm paranoid. In the past I have change 
"simple" things to have it blow up. I pushed the change to our test 
harness just to make sure. 
 
> $ cat fmt.c
> #include <stdio.h>
> #include <stdlib.h>
> 
> int main(int argc, char **argv)
> {
> 	printf("%#llx:0x%x:0x%x\n", (unsigned long long)1, 2, 3);
> 	printf("%#llx:%#x:%#x\n", (unsigned long long)1, 2, 3);
> 	return 0;
> }
> 
> $ gcc fmt.c
> $ ./a.out
> 0x1:0x2:0x3
> 0x1:0x2:0x3
> 
> 


More information about the lustre-devel mailing list