hulk inclusion category: feature bugzilla: https://atomgit.com/openeuler/kernel/issues/9153 ---------------------------------------- This reverts commit d5ceebf6b957ff30c0fcafe97b2b2a334c944e0c. Revert self-developed patchset, using mainline patchset. Signed-off-by: Yang Erkun <yangerkun@huawei.com> --- drivers/block/nbd.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c index be2191f7c4c1..621f42fb87cb 100644 --- a/drivers/block/nbd.c +++ b/drivers/block/nbd.c @@ -1185,6 +1185,12 @@ static int nbd_add_socket(struct nbd_device *nbd, unsigned long arg, if (!sock) return err; + /* + * We need to make sure we don't get any errant requests while we're + * reallocating the ->socks array. + */ + blk_mq_freeze_queue(nbd->disk->queue); + if (!netlink && !nbd->task_setup && !test_bit(NBD_RT_BOUND, &config->runtime_flags)) nbd->task_setup = current; @@ -1220,10 +1226,12 @@ static int nbd_add_socket(struct nbd_device *nbd, unsigned long arg, config->num_connections++; atomic_inc(&config->live_connections); + blk_mq_unfreeze_queue(nbd->disk->queue); return 0; put_socket: + blk_mq_unfreeze_queue(nbd->disk->queue); sockfd_put(sock); return err; } -- 2.52.0