提交 0cbc591b 编写于 作者: D Denis Cheng 提交者: Linus Torvalds

nbd: change a parameter's type to remove a memcpy call

This memcpy looks so strange, in fact it's merely a pointer dereference, so I
change the parameter's type to refer it more directly, this could make the
memcpy not needed anymore.

In the function nbd_read_stat where nbd_find_request is only once called, the
parameter served should be transformed accordingly.
Signed-off-by: NDenis Cheng <crquan@gmail.com>
Cc: Paul Clements <paul.clements@steeleye.com>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 d2c9740b
...@@ -231,14 +231,12 @@ static int nbd_send_req(struct nbd_device *lo, struct request *req) ...@@ -231,14 +231,12 @@ static int nbd_send_req(struct nbd_device *lo, struct request *req)
return 1; return 1;
} }
static struct request *nbd_find_request(struct nbd_device *lo, char *handle) static struct request *nbd_find_request(struct nbd_device *lo,
struct request *xreq)
{ {
struct request *req, *tmp; struct request *req, *tmp;
struct request *xreq;
int err; int err;
memcpy(&xreq, handle, sizeof(xreq));
err = wait_event_interruptible(lo->active_wq, lo->active_req != xreq); err = wait_event_interruptible(lo->active_wq, lo->active_req != xreq);
if (unlikely(err)) if (unlikely(err))
goto out; goto out;
...@@ -293,7 +291,7 @@ static struct request *nbd_read_stat(struct nbd_device *lo) ...@@ -293,7 +291,7 @@ static struct request *nbd_read_stat(struct nbd_device *lo)
goto harderror; goto harderror;
} }
req = nbd_find_request(lo, reply.handle); req = nbd_find_request(lo, *(struct request **)reply.handle);
if (unlikely(IS_ERR(req))) { if (unlikely(IS_ERR(req))) {
result = PTR_ERR(req); result = PTR_ERR(req);
if (result != -ENOENT) if (result != -ENOENT)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册