2021-11-27 17:24:02

by Colin Ian King

[permalink] [raw]
Subject: [PATCH] rbd: make const pointer speaces a static const array

Don't populate the const array spaces on the stack but make it static
const and make the pointer an array to remove a dereference. Shrinks
object code a little too. Also clean up intent, currently it is spaces
and should be a tab.

Signed-off-by: Colin Ian King <[email protected]>
---
drivers/block/rbd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index 8f140da1efe3..de7ede6aa95a 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -6189,7 +6189,7 @@ static inline size_t next_token(const char **buf)
* These are the characters that produce nonzero for
* isspace() in the "C" and "POSIX" locales.
*/
- const char *spaces = " \f\n\r\t\v";
+ static const char spaces[] = " \f\n\r\t\v";

*buf += strspn(*buf, spaces); /* Find start of token */

--
2.33.1



2021-11-29 12:09:09

by Jeffrey Layton

[permalink] [raw]
Subject: Re: [PATCH] rbd: make const pointer speaces a static const array

On Sat, 2021-11-27 at 17:21 +0000, Colin Ian King wrote:
> Don't populate the const array spaces on the stack but make it static
> const and make the pointer an array to remove a dereference. Shrinks
> object code a little too. Also clean up intent, currently it is spaces
> and should be a tab.
>
> Signed-off-by: Colin Ian King <[email protected]>
> ---
> drivers/block/rbd.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
> index 8f140da1efe3..de7ede6aa95a 100644
> --- a/drivers/block/rbd.c
> +++ b/drivers/block/rbd.c
> @@ -6189,7 +6189,7 @@ static inline size_t next_token(const char **buf)
> * These are the characters that produce nonzero for
> * isspace() in the "C" and "POSIX" locales.
> */
> - const char *spaces = " \f\n\r\t\v";
> + static const char spaces[] = " \f\n\r\t\v";
>
> *buf += strspn(*buf, spaces); /* Find start of token */
>

Thanks, Colin. Merged into our "testing" branch. It should make v5.17.
--
Jeff Layton <[email protected]>

2021-11-30 06:33:29

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH] rbd: make const pointer speaces a static const array

On Sat, 2021-11-27 at 17:21 +0000, Colin Ian King wrote:
> Don't populate the const array spaces on the stack but make it static
> const and make the pointer an array to remove a dereference. Shrinks
> object code a little too. Also clean up intent, currently it is spaces
> and should be a tab.
[]
> diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
[]
> @@ -6189,7 +6189,7 @@ static inline size_t next_token(const char **buf)
> * These are the characters that produce nonzero for
> * isspace() in the "C" and "POSIX" locales.
> */
> - const char *spaces = " \f\n\r\t\v";
> + static const char spaces[] = " \f\n\r\t\v";
>
> *buf += strspn(*buf, spaces); /* Find start of token */
>

perhaps

while (isspace(**buf))
(*buf)++;

and not have or use spaces at all.