On 3/11/20 11:54 PM, Christoph Hellwig wrote: > On Wed, Mar 11, 2020 at 12:03:43PM +0800, He Zhe wrote: >>>> 979c690d block: move clearing bd_invalidated into check_disk_size_change >>>> f0b870d block: remove (__)blkdev_reread_part as an exported API >>>> 142fe8f block: fix bdev_disk_changed for non-partitioned devices >>>> a1548b6 block: move rescan_partitions to fs/block_dev.c >>> Just to make sure we are on the same page: if you revert all four it >>> works, if you rever all but >>> >>> a1548b6 block: move rescan_partitions to fs/block_dev.c >>> >>> it doesn't? >> After reverting 142fe8f, rescan_partitions would be called in block/ioctl.c >> and cause a build failure. So I need to also revert a1548b6 to provide >> rescan_partitions. >> >> OR if I manually add the following diff instead of reverting a1548b6, then yes, >> it works too. > Ok, so 142fe8f is good except for the build failure. > > Do 142fe8f and 979c690d work with the build fix applied? (f0b870d > shouldn't be interesting for this case). Sorry for slow reply. With my build fix applied, the issue is triggered since 142fe8f. And I can see the endless loop of invalidate and revalidate... Zhe