Message ID | 20181119210636.22979-3-ddiss@suse.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | target: user configurable T10 Vendor ID | expand |
This could use a little more explanation, the code doesn't just add a little if but also changes the existing case. Also where can't it be null currently?
On Tue, 20 Nov 2018 08:49:24 -0800, Christoph Hellwig wrote: > This could use a little more explanation, the code doesn't just > add a little if but also changes the existing case. Also where > can't it be null currently? I'll add an explanation in the next round. This patch shouldn't cause any change in behaviour. The vendor string is currently always NULL terminated, but won't be once patch 3/4 is applied, hence the need to add the maximum string width specifier. Thanks for the feedback.
diff --git a/drivers/target/target_core_stat.c b/drivers/target/target_core_stat.c index f0db91ebd735..89f35167f036 100644 --- a/drivers/target/target_core_stat.c +++ b/drivers/target/target_core_stat.c @@ -804,10 +804,17 @@ static ssize_t target_stat_transport_dev_name_show(struct config_item *item, if (dev) { wwn = &dev->t10_wwn; /* scsiTransportDevName */ - ret = snprintf(page, PAGE_SIZE, "%s+%s\n", + if (strlen(wwn->unit_serial)) { + ret = snprintf(page, PAGE_SIZE, "%s+%s\n", + tpg->se_tpg_tfo->tpg_get_wwn(tpg), + wwn->unit_serial); + } else { + ret = snprintf(page, PAGE_SIZE, "%s+%." + __stringify(INQUIRY_VENDOR_IDENTIFIER_LEN) + "s\n", tpg->se_tpg_tfo->tpg_get_wwn(tpg), - (strlen(wwn->unit_serial)) ? wwn->unit_serial : wwn->vendor); + } } rcu_read_unlock(); return ret;
Signed-off-by: David Disseldorp <ddiss@suse.de> --- drivers/target/target_core_stat.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)