From a0f46a0a6938d8b540465d950a7ad5824a61b567 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Tue, 16 Jun 2015 23:53:43 +0000 Subject: [PATCH] scst_lib: WRITE SAME performance improvement fix Fix the argument of the second kunmap() call. Detected by smatch. See also patch "scst_lib: Improve WRITE SAME performance" (commit ID a15628d68309). Note: this patch does not have any impact on 64-bit architectures since kunmap() doesn't to anything on such architectures. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6350 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- scst/src/scst_lib.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scst/src/scst_lib.c b/scst/src/scst_lib.c index 901d7409f..87efc4dc6 100644 --- a/scst/src/scst_lib.c +++ b/scst/src/scst_lib.c @@ -5877,16 +5877,18 @@ void scst_write_same(struct scst_cmd *cmd) if (cmd->bufflen <= PAGE_SIZE / 2) pg = alloc_page(GFP_KERNEL); if (pg) { + struct page *src_pg; void *src, *dst; int k; mult = 0; - src = kmap(sg_page(cmd->sg)); + src_pg = sg_page(cmd->sg); + src = kmap(src_pg); dst = kmap(pg); for (k = 0; k < PAGE_SIZE; k += cmd->bufflen, mult++) memcpy(dst + k, src + cmd->sg->offset, cmd->bufflen); kunmap(pg); - kunmap(src); + kunmap(src_pg); offset = 0; length = k; } else {