On 8/21/20 10:56 AM, Christoph Hellwig wrote: > Two different callers use two different mutexes for updating the > block device size, which obviously doesn't help to actually protect > against concurrent updates from the different callers. In addition > one of the locks, bd_mutex is rather prone to deadlocks with other > parts of the block stack that use it for high level synchronization. > > Switch to using a new spinlock protecting just the size updates, as > that is all we need, and make sure everyone does the update through > the proper helper. > > This fixeѕ a bug reported with the nvme revalidating disks during a > hot removal operation. > > Reported-by: Xianting Tian <xianting_tian@xxxxxxx> > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > --- > block/partitions/core.c | 4 ++-- > drivers/block/aoe/aoecmd.c | 4 +--- > drivers/md/dm.c | 15 ++------------- > drivers/s390/block/dasd_ioctl.c | 9 ++------- > fs/block_dev.c | 18 +++++++++--------- > include/linux/blk_types.h | 1 + > 6 files changed, 17 insertions(+), 34 deletions(-) > Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Cheers, Hannes -- Dr. Hannes Reinecke Kernel Storage Architect hare@xxxxxxx +49 911 74053 688 SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg HRB 36809 (AG Nürnberg), GF: Felix Imendörffer -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel