Re: [GIT PULL] Block fix for 5.12 final

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Apr 23, 2021 at 02:54:36PM -0700, Linus Torvalds wrote:
> On Fri, Apr 23, 2021 at 2:06 PM Jens Axboe <axboe@xxxxxxxxx> wrote:
> >
> > A single fix for a behavioral regression in this series, when re-reading
> > the partition table with partitions open.
> 
> Hmm. The fact that it's no longer calling blk_drop_partitions() didn't
> just mean that the check for "bdev->bd_part_count" was lost (now
> re-instated).

It still calls blk_drop_partitions:

  blkdev_reread_part
    -> blkdev_get_by_dev
      -> __blkdev_get
        -> bdev_disk_changed
	  -> blk_drop_partitions

The difference is that before blkdev_reread_part called
bdev_disk_changed directly.  We now do it through blkdev_get to hook
into the driver.  But __blkdev_get ignores the return value from
bdev_disk_changed.

> It also seems to mean that blkdev_reread_part() no longer does the
> 
>         sync_blockdev(bdev);
>         invalidate_bdev(bdev);
> 
> to write back and invalidate any caches.
> 
> Are we sure cache writeback/invalidate isn't needed? Or does it get
> done some other place?

It is still in place.  But given how our cache coherency works not
actually needed anyway, but peeling that onion will take a while.



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux