From: "yu kuai" <yukuai@fygo.io>
To: "Yang Erkun" <yangerkun@huawei.com>, <josef@toxicpanda.com>,
<axboe@kernel.dk>, <hch@lst.de>, "yu kuai" <yukuai@fygo.io>
Cc: <yi.zhang@huawei.com>, <chengzhihao1@huawei.com>,
<echo.chenlin@huawei.com>, <leo.lilong@huaweicloud.com>,
<wangkefeng.wang@huawei.com>, <huawei.libin@huawei.com>,
<leijitang@huawei.com>, <linux-block@vger.kernel.org>,
<nbd@other.debian.org>
Subject: Re: [PATCH v7 3/8] nbd: clear queue limits on disconnect
Date: Wed, 5 Aug 2026 16:35:40 +0800 [thread overview]
Message-ID: <9237caa9-cd99-40a8-8ff2-9a4177af19ce@fygo.io> (raw)
In-Reply-To: <20260805065843.3332859-4-yangerkun@huawei.com>
在 2026/8/5 14:58, Yang Erkun 写道:
> An inactive nbd device may refuse any I/O operations. The nbd_config_put
> function calls invalidate_disk, which sets the device capacity to zero
> to reject all read and write I/O. For zero-sector flush I/O requests
> from blkdev_issue_flush, if the write cache is disabled, the zero-sector
> flush I/O immediately returns 0 in submit_bio_noacct. However, since
> nbd_config_put does not clear the write cache state, an inactive nbd
> device might still have the write cache enabled. In this situation,
> zero-sector flush I/O will return -EIO because there is no active socket.
> Additionally, BLK_FEAT_FUA and BLK_FEAT_ROTATIONAL flags may also remain
> stale, resetting all of them ensures consistent behavior.
>
> The limits update uses queue_limits_commit_update() (the non-freezing
> variant) because config_refs == 0 here means every fd is closed and recv
> threads have drained, so no in-flight I/O can read q->limits concurrently.
>
> Signed-off-by: Yang Erkun<yangerkun@huawei.com>
> ---
> drivers/block/nbd.c | 43 ++++++++++++++++++++++++++-----------------
> 1 file changed, 26 insertions(+), 17 deletions(-)
Reviewed-by: Yu Kuai <yukuai@fygo.io>
--
Thanks,
Kuai
next prev parent reply other threads:[~2026-08-05 8:35 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-05 6:58 [PATCH v7 0/8] nbd: eliminate queue freeze/unfreeze overhead in connection setup Yang Erkun
2026-08-05 6:58 ` [PATCH v7 1/8] nbd: simplify find_fallback() by removing redundant logic Yang Erkun
2026-08-05 6:58 ` [PATCH v7 2/8] nbd: disallow NBD_SET_SOCK on an active device Yang Erkun
2026-08-05 6:58 ` [PATCH v7 3/8] nbd: clear queue limits on disconnect Yang Erkun
2026-08-05 8:35 ` yu kuai [this message]
2026-08-05 6:58 ` [PATCH v7 4/8] nbd: remove queue freeze in nbd_add_socket Yang Erkun
2026-08-05 8:36 ` yu kuai
2026-08-05 6:58 ` [PATCH v7 5/8] nbd: skip queue freeze when setting size at device startup Yang Erkun
2026-08-05 8:37 ` yu kuai
2026-08-05 6:58 ` [PATCH v7 6/8] nbd: factor out a nbd_genl_foreach_sock Yang Erkun
2026-08-05 8:40 ` yu kuai
2026-08-05 6:58 ` [PATCH v7 7/8] nbd: remove queue freeze for newly created nbd from netlink path Yang Erkun
2026-08-05 6:58 ` [PATCH v7 8/8] nbd: add pre_defined_connections module parameter for pre-created devices Yang Erkun
2026-08-05 8:45 ` yu kuai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9237caa9-cd99-40a8-8ff2-9a4177af19ce@fygo.io \
--to=yukuai@fygo.io \
--cc=axboe@kernel.dk \
--cc=chengzhihao1@huawei.com \
--cc=echo.chenlin@huawei.com \
--cc=hch@lst.de \
--cc=huawei.libin@huawei.com \
--cc=josef@toxicpanda.com \
--cc=leijitang@huawei.com \
--cc=leo.lilong@huaweicloud.com \
--cc=linux-block@vger.kernel.org \
--cc=nbd@other.debian.org \
--cc=wangkefeng.wang@huawei.com \
--cc=yangerkun@huawei.com \
--cc=yi.zhang@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox