1
0
Fork 0

Adding upstream version 2.2.1.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-16 12:17:56 +01:00
parent 28d4a2895d
commit 8dc527e3df
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
446 changed files with 8369 additions and 4059 deletions

View file

@ -216,7 +216,7 @@ static void latency_tracker_pre_parse(struct latency_tracker *lt)
printf("Major Revision: %u\nMinor Revision: %u\n",
le16_to_cpu(lt->stats.version_major), le16_to_cpu(lt->stats.version_minor));
if (lt->has_average_latency_field) {
printf("Average Latency: %lu\n", le64_to_cpu(lt->stats.average_latency));
printf("Average Latency: %" PRIu64 "\n", le64_to_cpu(lt->stats.average_latency));
}
print_dash_separator();
printf("%-12s%-12s%-12s%-20s\n", "Bucket", "Start", "End", "Value");
@ -385,6 +385,7 @@ int solidigm_get_latency_tracking_log(int argc, char **argv, struct command *cmd
struct plugin *plugin)
{
const char *desc = "Get and Parse Solidigm Latency Tracking Statistics log.";
struct nvme_dev *dev;
__u32 enabled;
int err;
@ -407,43 +408,45 @@ int solidigm_get_latency_tracking_log(int argc, char **argv, struct command *cmd
OPT_END()
};
lt.fd = parse_and_open(argc, argv, desc, opts);
if (lt.fd < 0)
return lt.fd;
err = parse_and_open(&dev, argc, argv, desc, opts);
if (err)
return err;
lt.fd = dev_fd(dev);
lt.print_flags = validate_output_format(lt.cfg.output_format);
if (lt.print_flags == -EINVAL) {
fprintf(stderr, "Invalid output format '%s'\n", lt.cfg.output_format);
close(lt.fd);
dev_close(dev);
return EINVAL;
}
if (lt.cfg.type > 0xf) {
fprintf(stderr, "Invalid Log type value '%d'\n", lt.cfg.type);
close(lt.fd);
dev_close(dev);
return EINVAL;
}
if (lt.cfg.type && !(lt.cfg.read || lt.cfg.write)) {
fprintf(stderr, "Log type option valid only when retrieving statistics\n");
close(lt.fd);
dev_close(dev);
return EINVAL;
}
err = latency_tracking_enable(&lt);
if (err){
close(lt.fd);
dev_close(dev);
return err;
}
err = latency_tracker_get_log(&lt);
if (err){
close(lt.fd);
dev_close(dev);
return err;
}
if ((lt.cfg.read || lt.cfg.write || lt.cfg.enable || lt.cfg.disable)) {
close(lt.fd);
dev_close(dev);
return 0;
}
@ -465,6 +468,8 @@ int solidigm_get_latency_tracking_log(int argc, char **argv, struct command *cmd
} else {
fprintf(stderr, "Could not read feature id 0xE2.\n");
}
close(lt.fd);
/* Redundant close() to make static code analysis happy */
close(dev->direct.fd);
dev_close(dev);
return err;
}