summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosef Bacik2017-03-24 19:08:28 +0100
committerJens Axboe2017-03-24 22:42:47 +0100
commitf8586855031a1d6b243f013c3082631346fddfad (patch)
treed4a70943fcc2ed1934d1389c84d4da9ac8c12fbc
parentnbd: set rq->errors to actual error code (diff)
downloadkernel-qcow2-linux-f8586855031a1d6b243f013c3082631346fddfad.tar.gz
kernel-qcow2-linux-f8586855031a1d6b243f013c3082631346fddfad.tar.xz
kernel-qcow2-linux-f8586855031a1d6b243f013c3082631346fddfad.zip
nbd: set queue timeout properly
We can't just set the timeout on the tagset, we have to set it on the queue as it would have been setup already at this point. Signed-off-by: Josef Bacik <jbacik@fb.com> Signed-off-by: Jens Axboe <axboe@fb.com>
-rw-r--r--drivers/block/nbd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index dbc22f4bed3d..b0003dab90b9 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -844,7 +844,10 @@ static int __nbd_ioctl(struct block_device *bdev, struct nbd_device *nbd,
nbd_size_set(nbd, bdev, nbd->blksize, arg);
return 0;
case NBD_SET_TIMEOUT:
- nbd->tag_set.timeout = arg * HZ;
+ if (arg) {
+ nbd->tag_set.timeout = arg * HZ;
+ blk_queue_rq_timeout(nbd->disk->queue, arg * HZ);
+ }
return 0;
case NBD_SET_FLAGS: