aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/block/nbd.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index 56a027d6115e..fb31b8ee4372 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -243,14 +243,11 @@ static int nbd_send_req(struct nbd_device *nbd, struct request *req)
243 struct nbd_request request; 243 struct nbd_request request;
244 unsigned long size = blk_rq_bytes(req); 244 unsigned long size = blk_rq_bytes(req);
245 245
246 memset(&request, 0, sizeof(request));
246 request.magic = htonl(NBD_REQUEST_MAGIC); 247 request.magic = htonl(NBD_REQUEST_MAGIC);
247 request.type = htonl(nbd_cmd(req)); 248 request.type = htonl(nbd_cmd(req));
248 249
249 if (nbd_cmd(req) == NBD_CMD_FLUSH) { 250 if (nbd_cmd(req) != NBD_CMD_FLUSH && nbd_cmd(req) != NBD_CMD_DISC) {
250 /* Other values are reserved for FLUSH requests. */
251 request.from = 0;
252 request.len = 0;
253 } else {
254 request.from = cpu_to_be64((u64)blk_rq_pos(req) << 9); 251 request.from = cpu_to_be64((u64)blk_rq_pos(req) << 9);
255 request.len = htonl(size); 252 request.len = htonl(size);
256 } 253 }