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

James Simmons
2017-06-15T16:57:22Z

> 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
>
>