All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
To: daan@amutable.com
Cc: Jens Axboe <axboe@kernel.dk>,
	Christian Brauner <brauner@kernel.org>,
	 Daan De Meyer <daan.j.demeyer@gmail.com>,
	Josef Bacik <josef@toxicpanda.com>,
	linux-block@vger.kernel.org,  linux-kernel@vger.kernel.org,
	nbd@other.debian.org, stable@vger.kernel.org
Subject: Re: [PATCH 2/2] nbd: drop stale partitions on NBD_CLEAR_SOCK
Date: Wed, 12 Aug 2026 17:44:36 +0900	[thread overview]
Message-ID: <anwyEbZhRHgSAyqB@shinmob> (raw)
In-Reply-To: <20260806-b4-loop-nbd-stale-partitions-v1-2-67bb75a8d7be@amutable.com>

On Aug 06, 2026 / 12:36, Daan De Meyer via B4 Relay wrote:
> From: Daan De Meyer <daan@amutable.com>
> 
> Commit 267ec4d7223a ("loop: fix partition scan race between udev and
> loop_reread_partitions()") stopped disk_force_media_change() from
> setting GD_NEED_PART_SCAN. Besides requesting a rescan, that bit was what
> removed stale partitions on the next open, as bdev_disk_changed() drops
> all partitions before it consults disk_has_partscan().
> 
> nbd_clear_sock_ioctl() relied on that. It zeroes the capacity through
> nbd_bdev_reset(), but nothing removes the partitions of the disconnected
> device anymore. With the default max_part=16 they linger until the next
> connect sets GD_NEED_PART_SCAN again. With max_part=0 nothing ever sets
> it, so they are never removed at all, even though nbd does not set
> GENHD_FL_NO_PART and partitions can therefore still be added with BLKPG.
> 
> Set GD_NEED_PART_SCAN in nbd_clear_sock_ioctl() so the partitions are
> dropped on the next open. Calling bdev_disk_changed() directly is not an
> option as it needs open_mutex, which nbd_open() acquires under
> config_lock.
> 
> Fixes: 267ec4d7223a ("loop: fix partition scan race between udev and loop_reread_partitions()")
> Cc: stable@vger.kernel.org
> Signed-off-by: Daan De Meyer <daan@amutable.com>

Daan provided another new, blktests test case to recreate the problem describe
above [*]. I confirmed that the test case failed on v7.2-rc7 kernel, and this
patch avoids the failure.

Tested-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>

[*] https://github.com/linux-blktests/blktests/pull/260

  reply	other threads:[~2026-08-12  8:44 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-06 10:36 [PATCH 0/2] loop, nbd: drop partitions left behind by the GD_NEED_PART_SCAN removal Daan De Meyer via B4 Relay
2026-08-06 10:36 ` Daan De Meyer
2026-08-06 10:36 ` [PATCH 1/2] loop: drop stale partitions on LOOP_CHANGE_FD Daan De Meyer via B4 Relay
2026-08-06 10:36   ` Daan De Meyer
2026-08-12  8:10   ` Shin'ichiro Kawasaki
2026-08-12 13:33   ` Christoph Hellwig
2026-08-06 10:36 ` [PATCH 2/2] nbd: drop stale partitions on NBD_CLEAR_SOCK Daan De Meyer via B4 Relay
2026-08-06 10:36   ` Daan De Meyer
2026-08-12  8:44   ` Shin'ichiro Kawasaki [this message]
2026-08-12 13:33   ` Christoph Hellwig
2026-08-06 16:48 ` [PATCH 0/2] loop, nbd: drop partitions left behind by the GD_NEED_PART_SCAN removal Bart Van Assche
2026-08-12  9:51 ` Christian Brauner

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=anwyEbZhRHgSAyqB@shinmob \
    --to=shinichiro.kawasaki@wdc.com \
    --cc=axboe@kernel.dk \
    --cc=brauner@kernel.org \
    --cc=daan.j.demeyer@gmail.com \
    --cc=daan@amutable.com \
    --cc=josef@toxicpanda.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nbd@other.debian.org \
    --cc=stable@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.