linux-kernelorg-stable/block
Yu Kuai e5cfefa97b block: fix scan partition for exclusively open device again
As explained in commit 36369f46e9 ("block: Do not reread partition table
on exclusively open device"), reread partition on the device that is
exclusively opened by someone else is problematic.

This patch will make sure partition scan will only be proceed if current
thread open the device exclusively, or the device is not opened
exclusively, and in the later case, other scanners and exclusive openers
will be blocked temporarily until partition scan is done.

Fixes: 10c70d95c0 ("block: remove the bd_openers checks in blk_drop_partitions")
Cc: <stable@vger.kernel.org>
Suggested-by: Jan Kara <jack@suse.cz>
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20230217022200.3092987-3-yukuai1@huaweicloud.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2023-02-17 06:15:57 -07:00
..
partitions block: don't add partitions if GD_SUPPRESS_PART_SCAN is set 2022-09-03 11:29:03 -06:00
Kconfig block: Remove "select SRCU" 2023-01-05 08:50:10 -07:00
Kconfig.iosched block: Default to use cgroup support for BFQ 2023-01-30 09:42:42 -07:00
Makefile
badblocks.c
bdev.c block: bdev & blktrace: use consistent function doc. notation 2022-12-01 09:16:46 -07:00
bfq-cgroup.c Revert "blk-cgroup: pin the gendisk in struct blkcg_gq" 2023-02-14 14:24:09 -07:00
bfq-iosched.c blk-cgroup: pass a gendisk to blkcg_{de,}activate_policy 2023-02-03 08:20:05 -07:00
bfq-iosched.h block, bfq: cleanup 'bfqg->online' 2023-02-07 10:20:59 -07:00
bfq-wf2q.c block, bfq: inject I/O to underutilized actuators 2023-01-29 15:18:33 -07:00
bio-integrity.c block: bio-integrity: Copy flags when bio_integrity_payload is cloned 2023-02-16 11:05:41 -07:00
bio.c block: Remove the ALLOC_CACHE_SLACK constant 2023-02-09 17:03:36 -07:00
blk-cgroup-fc-appid.c
blk-cgroup-rwstat.c Revert "blk-cgroup: pin the gendisk in struct blkcg_gq" 2023-02-14 14:24:09 -07:00
blk-cgroup-rwstat.h
blk-cgroup.c Revert "blk-cgroup: pin the gendisk in struct blkcg_gq" 2023-02-14 14:24:09 -07:00
blk-cgroup.h Revert "blk-cgroup: pin the gendisk in struct blkcg_gq" 2023-02-14 14:24:09 -07:00
blk-core.c block: Fix io statistics for cgroup in throttle path 2023-02-16 11:04:11 -07:00
blk-crypto-fallback.c treewide: use get_random_bytes() when possible 2022-10-11 17:42:58 -06:00
blk-crypto-internal.h blk-crypto: pass a gendisk to blk_crypto_sysfs_{,un}register 2022-11-30 11:09:00 -07:00
blk-crypto-profile.c blk-crypto: Add a missing include directive 2022-11-23 10:38:54 -07:00
blk-crypto-sysfs.c block: make kobj_type structures constant 2023-02-09 09:38:16 -07:00
blk-crypto.c for-6.2/block-2022-12-08 2022-12-13 10:43:59 -08:00
blk-flush.c block: change request end_io handler to pass back a return value 2022-09-30 07:49:09 -06:00
blk-ia-ranges.c block: make kobj_type structures constant 2023-02-09 09:38:16 -07:00
blk-integrity.c block: make kobj_type structures constant 2023-02-09 09:38:16 -07:00
blk-ioc.c
blk-iocost.c Revert "blk-cgroup: pin the gendisk in struct blkcg_gq" 2023-02-14 14:24:09 -07:00
blk-iolatency.c Revert "blk-cgroup: pin the gendisk in struct blkcg_gq" 2023-02-14 14:24:09 -07:00
blk-ioprio.c blk-cgroup: pass a gendisk to pd_alloc_fn 2023-02-03 08:20:05 -07:00
blk-ioprio.h blk-ioprio: pass a gendisk to blk_ioprio_init and blk_ioprio_exit 2022-09-26 19:09:31 -06:00
blk-lib.c blk-lib: fix blkdev_issue_secure_erase 2022-09-15 00:25:17 -06:00
blk-map.c block: extend bio-cache for non-polled requests 2023-01-29 15:18:34 -07:00
blk-merge.c block: use proper return value from bio_failfast() 2023-02-16 19:39:15 -07:00
blk-mq-cpumap.c
blk-mq-debugfs-zoned.c
blk-mq-debugfs.c blk-rq-qos: store a gendisk instead of request_queue in struct rq_qos 2023-02-03 08:20:05 -07:00
blk-mq-debugfs.h
blk-mq-pci.c
blk-mq-rdma.c
blk-mq-sched.c blk-mq: correct stale comment of .get_budget 2023-02-06 09:22:29 -07:00
blk-mq-sched.h
blk-mq-sysfs.c block: make kobj_type structures constant 2023-02-09 09:38:16 -07:00
blk-mq-tag.c sbitmap: fix batched wait_cnt accounting 2022-09-12 00:10:34 -06:00
blk-mq-tag.h
blk-mq-virtio.c
blk-mq.c block: Merge bio before checking ->cached_rq 2023-02-09 08:11:25 -07:00
blk-mq.h blk-mq: move the srcu_struct used for quiescing to the tagset 2022-11-02 08:35:34 -06:00
blk-pm.c
blk-pm.h
blk-rq-qos.c blk-rq-qos: store a gendisk instead of request_queue in struct rq_qos 2023-02-03 08:20:05 -07:00
blk-rq-qos.h blk-rq-qos: store a gendisk instead of request_queue in struct rq_qos 2023-02-03 08:20:05 -07:00
blk-settings.c blk-wbt: move private information from blk-wbt.h to blk-wbt.c 2023-02-03 08:20:05 -07:00
blk-stat.c block: don't call blk_throtl_stat_add for non-READ/WRITE commands 2023-02-03 08:20:04 -07:00
blk-stat.h
blk-sysfs.c block: make kobj_type structures constant 2023-02-09 09:38:16 -07:00
blk-throttle.c Revert "blk-cgroup: pin the gendisk in struct blkcg_gq" 2023-02-14 14:24:09 -07:00
blk-throttle.h blk-throttle: pass a gendisk to blk_throtl_cancel_bios 2022-09-26 19:17:28 -06:00
blk-timeout.c
blk-wbt.c blk-rq-qos: store a gendisk instead of request_queue in struct rq_qos 2023-02-03 08:20:05 -07:00
blk-wbt.h blk-wbt: move private information from blk-wbt.h to blk-wbt.c 2023-02-03 08:20:05 -07:00
blk-zoned.c block: add a new helper bdev_{is_zone_start, offset_from_zone_start} 2023-01-29 15:18:34 -07:00
blk.h block: Revert "block: Do not reread partition table on exclusively open device" 2023-02-17 06:15:57 -07:00
bounce.c
bsg-lib.c blk-mq: move the call to blk_put_queue out of blk_mq_destroy_queue 2022-10-25 08:25:10 -06:00
bsg.c Driver Core changes for 6.2-rc1 2022-12-16 03:54:54 -08:00
disk-events.c
elevator.c block: make kobj_type structures constant 2023-02-09 09:38:16 -07:00
elevator.h block: add proper helpers for elevator_type module refcount management 2022-10-23 18:59:17 -06:00
fops.c block: don't allow multiple bios for IOCB_NOWAIT issue 2023-01-29 15:18:34 -07:00
genhd.c block: fix scan partition for exclusively open device again 2023-02-17 06:15:57 -07:00
holder.c block: don't allow a disk link holder to itself 2022-11-16 15:19:56 -07:00
ioctl.c block: fix scan partition for exclusively open device again 2023-02-17 06:15:57 -07:00
ioprio.c
kyber-iosched.c treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
mq-deadline.c block: mq-deadline: Rename deadline_is_seq_writes() 2022-11-28 19:27:45 -07:00
opal_proto.h
sed-opal.c sed-opal: add support flag for SUM in status ioctl 2023-02-17 06:15:53 -07:00
t10-pi.c