aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKay Sievers <kay.sievers@vrfy.org>2008-03-09 21:26:02 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2008-04-19 19:10:24 -0700
commit6bcf19d02a5d7e627fa054f2f10e0a8d830df326 (patch)
tree5534e02f0141b87ac492ba8d6342469f76f3d907
parentda009f39f85a3ee9deeb10f0f05ddd4efdd67020 (diff)
downloadkernel_samsung_aries-6bcf19d02a5d7e627fa054f2f10e0a8d830df326.zip
kernel_samsung_aries-6bcf19d02a5d7e627fa054f2f10e0a8d830df326.tar.gz
kernel_samsung_aries-6bcf19d02a5d7e627fa054f2f10e0a8d830df326.tar.bz2
block: send disk "change" event for rescan_partitions()
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 <david@fubar.dk> Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--fs/partitions/check.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/partitions/check.c b/fs/partitions/check.c
index 03f808c..6149e4b 100644
--- a/fs/partitions/check.c
+++ b/fs/partitions/check.c
@@ -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;