Message ID | 20230126033358.1880-5-demi@invisiblethingslab.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Allow race-free block device handling | expand |
On Wed, Jan 25, 2023 at 10:33:56PM -0500, Demi Marie Obenour wrote: > This ensures that userspace is aware that the device may now point to > something else. The subject is wong, this also does two things to two different subystems, not of which is mentioned in the subject.
diff --git a/block/genhd.c b/block/genhd.c index 23cf83b3331cdea5c916fbf01cb5b92aeb2f7cf8..5bf7664273c66d04b40730434f17f7b65fbfe101 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -1490,3 +1490,4 @@ void inc_diskseq(struct gendisk *disk) { disk->diskseq = atomic64_inc_return(&diskseq); } +EXPORT_SYMBOL(inc_diskseq); diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 1518a6423279bc890221e8184a8f2e420cb16715..f862b0ab1dce43b3617b1381be8e2de3aab828b1 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -1205,6 +1205,12 @@ static void __loop_clr_fd(struct loop_device *lo, bool release) if (!part_shift) set_bit(GD_SUPPRESS_PART_SCAN, &lo->lo_disk->state); mutex_lock(&lo->lo_mutex); + + /* + * Increment the disk sequence number, so that userspace knows this + * device now points to something else. + */ + inc_diskseq(lo->lo_disk); lo->lo_state = Lo_unbound; mutex_unlock(&lo->lo_mutex);
This ensures that userspace is aware that the device may now point to something else. Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com> --- block/genhd.c | 1 + drivers/block/loop.c | 6 ++++++ 2 files changed, 7 insertions(+)