md: remove ->changed and related code.
authorNeilBrown <neilb@suse.de>
Mon, 29 Mar 2010 00:18:15 +0000 (11:18 +1100)
committerNeilBrown <neilb@suse.de>
Tue, 18 May 2010 05:27:53 +0000 (15:27 +1000)
We set ->changed to 1 and call check_disk_change at the end
of md_open so that bd_invalidated would be set and thus
partition rescan would happen appropriately.

Now that we call revalidate_disk directly, which sets bd_invalidates,
that indirection is no longer needed and can be removed.

Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/md.c
drivers/md/md.h
drivers/md/raid1.c
drivers/md/raid5.c

index 69f2a8e..f2b3001 100644 (file)
@@ -4501,7 +4501,6 @@ static int do_md_run(mddev_t * mddev)
        md_wakeup_thread(mddev->sync_thread); /* possibly kick off a reshape */
 
        revalidate_disk(mddev->gendisk);
-       mddev->changed = 1;
        md_new_event(mddev);
        sysfs_notify_dirent(mddev->sysfs_state);
        if (mddev->sysfs_action)
@@ -4620,7 +4619,7 @@ static int do_md_stop(mddev_t * mddev, int mode, int is_open)
                                }
 
                        set_capacity(disk, 0);
-                       mddev->changed = 1;
+                       revalidate_disk(disk);
 
                        if (mddev->ro)
                                mddev->ro = 0;
@@ -4686,7 +4685,6 @@ out:
                mddev->sync_speed_min = mddev->sync_speed_max = 0;
                mddev->recovery = 0;
                mddev->in_sync = 0;
-               mddev->changed = 0;
                mddev->degraded = 0;
                mddev->barriers_work = 0;
                mddev->safemode = 0;
@@ -5850,7 +5848,6 @@ static int md_open(struct block_device *bdev, fmode_t mode)
        atomic_inc(&mddev->openers);
        mutex_unlock(&mddev->open_mutex);
 
-       check_disk_change(bdev);
  out:
        return err;
 }
@@ -5865,21 +5862,6 @@ static int md_release(struct gendisk *disk, fmode_t mode)
 
        return 0;
 }
-
-static int md_media_changed(struct gendisk *disk)
-{
-       mddev_t *mddev = disk->private_data;
-
-       return mddev->changed;
-}
-
-static int md_revalidate(struct gendisk *disk)
-{
-       mddev_t *mddev = disk->private_data;
-
-       mddev->changed = 0;
-       return 0;
-}
 static const struct block_device_operations md_fops =
 {
        .owner          = THIS_MODULE,
@@ -5890,8 +5872,6 @@ static const struct block_device_operations md_fops =
        .compat_ioctl   = md_compat_ioctl,
 #endif
        .getgeo         = md_getgeo,
-       .media_changed  = md_media_changed,
-       .revalidate_disk= md_revalidate,
 };
 
 static int md_thread(void * arg)
index e4836c6..3225e25 100644 (file)
@@ -237,7 +237,6 @@ struct mddev_s
        atomic_t                        active;         /* general refcount */
        atomic_t                        openers;        /* number of active opens */
 
-       int                             changed;        /* true if we might need to reread partition info */
        int                             degraded;       /* whether md should consider
                                                         * adding a spare
                                                         */
index e277013..eebce16 100644 (file)
@@ -2184,7 +2184,6 @@ static int raid1_resize(mddev_t *mddev, sector_t sectors)
        if (mddev->array_sectors > raid1_size(mddev, sectors, 0))
                return -EINVAL;
        set_capacity(mddev->gendisk, mddev->array_sectors);
-       mddev->changed = 1;
        revalidate_disk(mddev->gendisk);
        if (sectors > mddev->dev_sectors &&
            mddev->recovery_cp == MaxSector) {
index c6ae7c1..231afda 100644 (file)
@@ -5335,7 +5335,6 @@ static int raid5_resize(mddev_t *mddev, sector_t sectors)
            raid5_size(mddev, sectors, mddev->raid_disks))
                return -EINVAL;
        set_capacity(mddev->gendisk, mddev->array_sectors);
-       mddev->changed = 1;
        revalidate_disk(mddev->gendisk);
        if (sectors > mddev->dev_sectors && mddev->recovery_cp == MaxSector) {
                mddev->recovery_cp = mddev->dev_sectors;
@@ -5549,7 +5548,6 @@ static void raid5_finish_reshape(mddev_t *mddev)
                if (mddev->delta_disks > 0) {
                        md_set_array_sectors(mddev, raid5_size(mddev, 0, 0));
                        set_capacity(mddev->gendisk, mddev->array_sectors);
-                       mddev->changed = 1;
                        revalidate_disk(mddev->gendisk);
                } else {
                        int d;