aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuoqing Jiang <gqjiang@suse.com>2017-02-23 22:15:23 -0500
committerShaohua Li <shli@fb.com>2017-03-09 12:02:18 -0500
commitc94836342192b05d599d6aa3397f732f7a238689 (patch)
tree17c6407285ffbc1e1c75302b66338b84bb592831
parent75df023f4f2188c21181996e28234fef9351ef45 (diff)
md: move funcs from pers->resize to update_size
raid1_resize and raid5_resize should also check the mddev->queue if run underneath dm-raid. And both set_capacity and revalidate_disk are used in pers->resize such as raid1, raid10 and raid5. So move them from personality file to common code. Reviewed-by: NeilBrown <neilb@suse.com> Signed-off-by: Guoqing Jiang <gqjiang@suse.com> Signed-off-by: Shaohua Li <shli@fb.com>
-rw-r--r--drivers/md/md.c8
-rw-r--r--drivers/md/raid1.c2
-rw-r--r--drivers/md/raid10.c4
-rw-r--r--drivers/md/raid5.c2
4 files changed, 6 insertions, 10 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 82bd1f3d2b19..bd15a18485c8 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -6525,8 +6525,12 @@ static int update_size(struct mddev *mddev, sector_t num_sectors)
6525 return -ENOSPC; 6525 return -ENOSPC;
6526 } 6526 }
6527 rv = mddev->pers->resize(mddev, num_sectors); 6527 rv = mddev->pers->resize(mddev, num_sectors);
6528 if (!rv) 6528 if (!rv) {
6529 revalidate_disk(mddev->gendisk); 6529 if (mddev->queue) {
6530 set_capacity(mddev->gendisk, mddev->array_sectors);
6531 revalidate_disk(mddev->gendisk);
6532 }
6533 }
6530 return rv; 6534 return rv;
6531} 6535}
6532 6536
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index fbc2d7851b49..10c3865e1186 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -3246,8 +3246,6 @@ static int raid1_resize(struct mddev *mddev, sector_t sectors)
3246 return ret; 3246 return ret;
3247 } 3247 }
3248 md_set_array_sectors(mddev, newsize); 3248 md_set_array_sectors(mddev, newsize);
3249 set_capacity(mddev->gendisk, mddev->array_sectors);
3250 revalidate_disk(mddev->gendisk);
3251 if (sectors > mddev->dev_sectors && 3249 if (sectors > mddev->dev_sectors &&
3252 mddev->recovery_cp > mddev->dev_sectors) { 3250 mddev->recovery_cp > mddev->dev_sectors) {
3253 mddev->recovery_cp = mddev->dev_sectors; 3251 mddev->recovery_cp = mddev->dev_sectors;
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index 1443305613c5..c4db6d1fb6a2 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -3956,10 +3956,6 @@ static int raid10_resize(struct mddev *mddev, sector_t sectors)
3956 return ret; 3956 return ret;
3957 } 3957 }
3958 md_set_array_sectors(mddev, size); 3958 md_set_array_sectors(mddev, size);
3959 if (mddev->queue) {
3960 set_capacity(mddev->gendisk, mddev->array_sectors);
3961 revalidate_disk(mddev->gendisk);
3962 }
3963 if (sectors > mddev->dev_sectors && 3959 if (sectors > mddev->dev_sectors &&
3964 mddev->recovery_cp > oldsize) { 3960 mddev->recovery_cp > oldsize) {
3965 mddev->recovery_cp = oldsize; 3961 mddev->recovery_cp = oldsize;
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 4fb09b3fcb41..6bfedfcf41c1 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -7605,8 +7605,6 @@ static int raid5_resize(struct mddev *mddev, sector_t sectors)
7605 return ret; 7605 return ret;
7606 } 7606 }
7607 md_set_array_sectors(mddev, newsize); 7607 md_set_array_sectors(mddev, newsize);
7608 set_capacity(mddev->gendisk, mddev->array_sectors);
7609 revalidate_disk(mddev->gendisk);
7610 if (sectors > mddev->dev_sectors && 7608 if (sectors > mddev->dev_sectors &&
7611 mddev->recovery_cp > mddev->dev_sectors) { 7609 mddev->recovery_cp > mddev->dev_sectors) {
7612 mddev->recovery_cp = mddev->dev_sectors; 7610 mddev->recovery_cp = mddev->dev_sectors;