| From c3f7c9397609705ef848cc98a5fb429b3e90c3c4 Mon Sep 17 00:00:00 2001 |
| From: Josef Bacik <jbacik@fb.com> |
| Date: Wed, 16 May 2018 14:51:18 -0400 |
| Subject: nbd: update size when connected |
| |
| From: Josef Bacik <jbacik@fb.com> |
| |
| commit c3f7c9397609705ef848cc98a5fb429b3e90c3c4 upstream. |
| |
| I messed up changing the size of an NBD device while it was connected by |
| not actually updating the device or doing the uevent. Fix this by |
| updating everything if we're connected and we change the size. |
| |
| cc: stable@vger.kernel.org |
| Fixes: 639812a ("nbd: don't set the device size until we're connected") |
| Signed-off-by: Josef Bacik <jbacik@fb.com> |
| Signed-off-by: Jens Axboe <axboe@kernel.dk> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/block/nbd.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/drivers/block/nbd.c |
| +++ b/drivers/block/nbd.c |
| @@ -246,6 +246,8 @@ static void nbd_size_set(struct nbd_devi |
| struct nbd_config *config = nbd->config; |
| config->blksize = blocksize; |
| config->bytesize = blocksize * nr_blocks; |
| + if (nbd->task_recv != NULL) |
| + nbd_size_update(nbd); |
| } |
| |
| static void nbd_complete_rq(struct request *req) |