block: send disk "change" event for rescan_partitions()
authorKay Sievers <[email protected]>
Sun, 9 Mar 2008 20:26:02 +0000 (21:26 +0100)
committerGreg Kroah-Hartman <[email protected]>
Sun, 20 Apr 2008 02:10:24 +0000 (19:10 -0700)
Userspace likes to get notified that the disk may have changed, when
rescan_partitions() is called after partitioning or media change. It will
make it possible to update the state of the disk with the "change" event,
before the following partition "add" events are handled.

Cc: David Zeuthen <[email protected]>
Signed-off-by: Kay Sievers <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
fs/partitions/check.c

index 03f808c5b79d4733e55b2c017ff8a5ab399c45fc..6149e4b58c887a62cd11e4776650b1880745af2a 100644 (file)
@@ -473,6 +473,10 @@ int rescan_partitions(struct gendisk *disk, struct block_device *bdev)
                return 0;
        if (IS_ERR(state))      /* I/O error reading the partition table */
                return -EIO;
+
+       /* tell userspace that the media / partition table may have changed */
+       kobject_uevent(&disk->dev.kobj, KOBJ_CHANGE);
+
        for (p = 1; p < state->limit; p++) {
                sector_t size = state->parts[p].size;
                sector_t from = state->parts[p].from;