From: Jinliang Wang Date: Tue, 29 Nov 2022 23:15:28 +0000 (-0800) Subject: ioctl: fix log page offset X-Git-Tag: v1.3~17^2 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=3068fc8d6e03a3afbca3c9a3d6762a64b61eda6f;p=users%2Fsagi%2Flibnvme.git ioctl: fix log page offset The original `lpo` info is lost in `nvme_get_log_page`. Save it into a local variable and append `offset` after it. Signed-off-by: Jinliang Wang --- diff --git a/src/nvme/ioctl.c b/src/nvme/ioctl.c index e4f4c3fd..422a1097 100644 --- a/src/nvme/ioctl.c +++ b/src/nvme/ioctl.c @@ -433,6 +433,7 @@ int nvme_get_log(struct nvme_get_log_args *args) int nvme_get_log_page(int fd, __u32 xfer_len, struct nvme_get_log_args *args) { __u64 offset = 0, xfer, data_len = args->len; + __u64 start = args->lpo; bool retain = true; void *ptr = args->log; int ret; @@ -454,7 +455,7 @@ int nvme_get_log_page(int fd, __u32 xfer_len, struct nvme_get_log_args *args) if (offset + xfer == data_len) retain = args->rae; - args->lpo = offset; + args->lpo = start + offset; args->len = xfer; args->log = ptr; args->rae = retain;