From 13d6d00347665347e1d964c56ee34da4bc94310b Mon Sep 17 00:00:00 2001 From: Richael Zhuang Date: Wed, 8 Apr 2020 09:56:10 +0800 Subject: [PATCH] examples/blob: skip '\0' when dump xattr's value In show_blob(), value_len of xattr contains terminator '\0', which is printed as '.' when calling spdk_log_dump(). For example, we set key/value pair as , we get "xattr value." but not "xattr value" when showing blob info. Skip '\0' will fix this. And "data[BUFSIZE]" seems redundant here, remove it. Signed-off-by: Richael Zhuang Change-Id: I4e7c3276e51f14badf43b660b80b24ae85bb0900 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1745 Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Jim Harris Reviewed-by: Tomasz Zawadzki --- examples/blob/cli/blobcli.c | 9 +++------ test/blobstore/btest.out.match | 2 +- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/examples/blob/cli/blobcli.c b/examples/blob/cli/blobcli.c index eec132b6a..edb071847 100644 --- a/examples/blob/cli/blobcli.c +++ b/examples/blob/cli/blobcli.c @@ -433,7 +433,6 @@ show_blob(struct cli_context_t *cli_context) struct spdk_xattr_names *names; const void *value; size_t value_len; - char data[BUFSIZE]; unsigned int i; printf("Blob Public Info:\n"); @@ -457,16 +456,14 @@ show_blob(struct cli_context_t *cli_context) spdk_blob_get_xattr_value(cli_context->blob, spdk_xattr_names_get_name(names, i), &value, &value_len); - if ((value_len + 1) > sizeof(data)) { + if (value_len > BUFSIZE) { printf("FYI: adjusting size of xattr due to CLI limits.\n"); - value_len = sizeof(data) - 1; + value_len = BUFSIZE + 1; } - memcpy(&data, value, value_len); - data[value_len] = '\0'; printf("\n(%d) Name:%s\n", i, spdk_xattr_names_get_name(names, i)); printf("(%d) Value:\n", i); - spdk_log_dump(stdout, "", value, value_len); + spdk_log_dump(stdout, "", value, value_len - 1); } /* diff --git a/test/blobstore/btest.out.match b/test/blobstore/btest.out.match index 527b9e300..b197e22d4 100644 --- a/test/blobstore/btest.out.match +++ b/test/blobstore/btest.out.match @@ -62,7 +62,7 @@ xattrs: (0) Name:key (0) Value: -00000000 76 61 6c 00 val. +00000000 76 61 6c val Blob Private Info: state: CLEAN