RE: [PATCH 3/4] lib/hexdump.c: Replace ascii bool in hex_dump_to_buffer with flags

From: Alastair D'Silva
Date: Mon Apr 15 2019 - 07:12:35 EST


> -----Original Message-----
> From: David Laight <David.Laight@xxxxxxxxxx>
> Sent: Monday, 15 April 2019 9:04 PM
> To: 'Alastair D'Silva' <alastair@xxxxxxxxxxx>; 'Petr Mladek'
> <pmladek@xxxxxxxx>
> Cc: 'Alastair D'Silva' <alastair@xxxxxxxxxxx>; 'Jani Nikula'
> <jani.nikula@xxxxxxxxxxxxxxx>; 'Joonas Lahtinen'
> <joonas.lahtinen@xxxxxxxxxxxxxxx>; 'Rodrigo Vivi' <rodrigo.vivi@xxxxxxxxx>;
> 'David Airlie' <airlied@xxxxxxxx>; 'Daniel Vetter' <daniel@xxxxxxxx>; 'Karsten
> Keil' <isdn@xxxxxxxxxxxxxx>; 'Jassi Brar' <jassisinghbrar@xxxxxxxxx>; 'Tom
> Lendacky' <thomas.lendacky@xxxxxxx>; 'David S. Miller'
> <davem@xxxxxxxxxxxxx>; 'Jose Abreu' <Jose.Abreu@xxxxxxxxxxxx>; 'Kalle
> Valo' <kvalo@xxxxxxxxxxxxxx>; 'Stanislaw Gruszka' <sgruszka@xxxxxxxxxx>;
> 'Benson Leung' <bleung@xxxxxxxxxxxx>; 'Enric Balletbo i Serra'
> <enric.balletbo@xxxxxxxxxxxxx>; 'James E.J. Bottomley'
> <jejb@xxxxxxxxxxxxx>; 'Martin K. Petersen' <martin.petersen@xxxxxxxxxx>;
> 'Greg Kroah-Hartman' <gregkh@xxxxxxxxxxxxxxxxxxx>; 'Alexander Viro'
> <viro@xxxxxxxxxxxxxxxxxx>; 'Sergey Senozhatsky'
> <sergey.senozhatsky@xxxxxxxxx>; 'Steven Rostedt'
> <rostedt@xxxxxxxxxxx>; 'Andrew Morton' <akpm@xxxxxxxxxxxxxxxxxxxx>;
> intel-gfx@xxxxxxxxxxxxxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx;
> ath10k@xxxxxxxxxxxxxxxxxxx; linux-wireless@xxxxxxxxxxxxxxx; linux-
> scsi@xxxxxxxxxxxxxxx; linux-fbdev@xxxxxxxxxxxxxxx;
> devel@xxxxxxxxxxxxxxxxxxxx; linux-fsdevel@xxxxxxxxxxxxxxx
> Subject: RE: [PATCH 3/4] lib/hexdump.c: Replace ascii bool in
> hex_dump_to_buffer with flags
>
> From: Alastair D'Silva
> > Sent: 15 April 2019 11:45
> ...
> > > Although I think you'd want a 'no hex' flag to suppress the hex.
> > >
> > > Probably more useful flags are ones to suppress the address column.
> >
> > This is already supported by the prefix_type parameter - are you
> > proposing that we eliminate the parameter & combine it with flags?
>
> I was looking at the flags on one of my hexdump() functions...
>
> > > I've also used flags to enable (or disable) suppression of multiple
> > > lines of zeros of constant bytes.
> > > In that case you may want hexdump to return the flags for the next
> > > call when a large buffer is being dumped in fragments.
> >
> > I'm afraid I don't quite follow here, hex_dump_to_buffer doesn't alter
> > the flags, so the caller already knows it.
>
> If you are suppressing lines of zeros and dumping a buffer in several blocks
> then subsequent calls need to know that the last line of the previous call was
> suppressed zeros - and carry on with the same suppressed block.

Why wouldn't you do this with a single call to print_hex_dump? (that is where the repeated lines are suppressed)

That will already take chunks of the buffer until the whole thing is output, in what situation do you see a caller chunking the access themselves?

--
Alastair D'Silva mob: 0423 762 819
skype: alastair_dsilva msn: alastair@xxxxxxxxxxx
blog: http://alastair.d-silva.org Twitter: @EvilDeece