Re: Failure to reread partition tables on non-busy devices

From: Alexander Viro (viro@math.psu.edu)
Date: Sun Nov 17 2002 - 19:43:27 EST


On Sun, 17 Nov 2002, Doug Ledford wrote:

> This patch (almost certainly wrong BTW) makes it work. Obviously,
> somewhere there should be a call to invalidate_bdev(); that doesn't exist.
> I'm not sure A) where that call should be and B) what checks there should
> be to avoid calling invalidate_bdev() on a device that is busy.

Not really. Correct fix is:
        a) in fs/block_dev.c::full_check_disk_change() replace

        if (check_disk_change(bdev)) {
with
        if (check_disk_change(bdev) && bdev->bd_invalidated) {

        b) lost the check in rescan_partitions().

Other callers either do that check themselves or don't want that check to
happen at all (BLKRRPART).

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Nov 23 2002 - 22:00:20 EST