Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b821eaa5 authored by NeilBrown's avatar NeilBrown
Browse files

md: remove ->changed and related code.



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: default avatarNeilBrown <neilb@suse.de>
parent 49ce6cea
Loading
Loading
Loading
Loading
+1 −21
Original line number Original line Diff line number Diff line
@@ -4501,7 +4501,6 @@ static int do_md_run(mddev_t * mddev)
	md_wakeup_thread(mddev->sync_thread); /* possibly kick off a reshape */
	md_wakeup_thread(mddev->sync_thread); /* possibly kick off a reshape */


	revalidate_disk(mddev->gendisk);
	revalidate_disk(mddev->gendisk);
	mddev->changed = 1;
	md_new_event(mddev);
	md_new_event(mddev);
	sysfs_notify_dirent(mddev->sysfs_state);
	sysfs_notify_dirent(mddev->sysfs_state);
	if (mddev->sysfs_action)
	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);
			set_capacity(disk, 0);
			mddev->changed = 1;
			revalidate_disk(disk);


			if (mddev->ro)
			if (mddev->ro)
				mddev->ro = 0;
				mddev->ro = 0;
@@ -4686,7 +4685,6 @@ out:
		mddev->sync_speed_min = mddev->sync_speed_max = 0;
		mddev->sync_speed_min = mddev->sync_speed_max = 0;
		mddev->recovery = 0;
		mddev->recovery = 0;
		mddev->in_sync = 0;
		mddev->in_sync = 0;
		mddev->changed = 0;
		mddev->degraded = 0;
		mddev->degraded = 0;
		mddev->barriers_work = 0;
		mddev->barriers_work = 0;
		mddev->safemode = 0;
		mddev->safemode = 0;
@@ -5850,7 +5848,6 @@ static int md_open(struct block_device *bdev, fmode_t mode)
	atomic_inc(&mddev->openers);
	atomic_inc(&mddev->openers);
	mutex_unlock(&mddev->open_mutex);
	mutex_unlock(&mddev->open_mutex);


	check_disk_change(bdev);
 out:
 out:
	return err;
	return err;
}
}
@@ -5865,21 +5862,6 @@ static int md_release(struct gendisk *disk, fmode_t mode)


	return 0;
	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 =
static const struct block_device_operations md_fops =
{
{
	.owner		= THIS_MODULE,
	.owner		= THIS_MODULE,
@@ -5890,8 +5872,6 @@ static const struct block_device_operations md_fops =
	.compat_ioctl	= md_compat_ioctl,
	.compat_ioctl	= md_compat_ioctl,
#endif
#endif
	.getgeo		= md_getgeo,
	.getgeo		= md_getgeo,
	.media_changed	= md_media_changed,
	.revalidate_disk= md_revalidate,
};
};


static int md_thread(void * arg)
static int md_thread(void * arg)
+0 −1
Original line number Original line Diff line number Diff line
@@ -237,7 +237,6 @@ struct mddev_s
	atomic_t			active;		/* general refcount */
	atomic_t			active;		/* general refcount */
	atomic_t			openers;	/* number of active opens */
	atomic_t			openers;	/* number of active opens */


	int				changed;	/* true if we might need to reread partition info */
	int				degraded;	/* whether md should consider
	int				degraded;	/* whether md should consider
							 * adding a spare
							 * adding a spare
							 */
							 */
+0 −1
Original line number Original line Diff line number Diff line
@@ -2184,7 +2184,6 @@ static int raid1_resize(mddev_t *mddev, sector_t sectors)
	if (mddev->array_sectors > raid1_size(mddev, sectors, 0))
	if (mddev->array_sectors > raid1_size(mddev, sectors, 0))
		return -EINVAL;
		return -EINVAL;
	set_capacity(mddev->gendisk, mddev->array_sectors);
	set_capacity(mddev->gendisk, mddev->array_sectors);
	mddev->changed = 1;
	revalidate_disk(mddev->gendisk);
	revalidate_disk(mddev->gendisk);
	if (sectors > mddev->dev_sectors &&
	if (sectors > mddev->dev_sectors &&
	    mddev->recovery_cp == MaxSector) {
	    mddev->recovery_cp == MaxSector) {
+0 −2
Original line number Original line Diff line number Diff line
@@ -5335,7 +5335,6 @@ static int raid5_resize(mddev_t *mddev, sector_t sectors)
	    raid5_size(mddev, sectors, mddev->raid_disks))
	    raid5_size(mddev, sectors, mddev->raid_disks))
		return -EINVAL;
		return -EINVAL;
	set_capacity(mddev->gendisk, mddev->array_sectors);
	set_capacity(mddev->gendisk, mddev->array_sectors);
	mddev->changed = 1;
	revalidate_disk(mddev->gendisk);
	revalidate_disk(mddev->gendisk);
	if (sectors > mddev->dev_sectors && mddev->recovery_cp == MaxSector) {
	if (sectors > mddev->dev_sectors && mddev->recovery_cp == MaxSector) {
		mddev->recovery_cp = mddev->dev_sectors;
		mddev->recovery_cp = mddev->dev_sectors;
@@ -5549,7 +5548,6 @@ static void raid5_finish_reshape(mddev_t *mddev)
		if (mddev->delta_disks > 0) {
		if (mddev->delta_disks > 0) {
			md_set_array_sectors(mddev, raid5_size(mddev, 0, 0));
			md_set_array_sectors(mddev, raid5_size(mddev, 0, 0));
			set_capacity(mddev->gendisk, mddev->array_sectors);
			set_capacity(mddev->gendisk, mddev->array_sectors);
			mddev->changed = 1;
			revalidate_disk(mddev->gendisk);
			revalidate_disk(mddev->gendisk);
		} else {
		} else {
			int d;
			int d;