diff options
author | NeilBrown <neilb@suse.de> | 2012-05-21 23:54:30 -0400 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2012-05-21 23:54:30 -0400 |
commit | 545c87957f4d53867b62921625f36df8c4b1bc08 (patch) | |
tree | 52dc839ac828f7742efbad83cfbe5f35f11a04d6 /drivers/md/dm-raid.c | |
parent | 96e67703e71f4b3cc32b747dbb6158ec74d01e19 (diff) |
md: dm-raid should call helper function to clear rdev.
dm-raid currently open-codes the freeing of some members of
and rdev. It is more maintainable to have it call common code
from md.c which does this for all call-sites.
So remove free_disk_sb to md_rdev_clear, export it, and use it in
dm-raid.c
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/dm-raid.c')
-rw-r--r-- | drivers/md/dm-raid.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/md/dm-raid.c b/drivers/md/dm-raid.c index 68965e66324..73a068da10d 100644 --- a/drivers/md/dm-raid.c +++ b/drivers/md/dm-raid.c | |||
@@ -155,10 +155,7 @@ static void context_free(struct raid_set *rs) | |||
155 | for (i = 0; i < rs->md.raid_disks; i++) { | 155 | for (i = 0; i < rs->md.raid_disks; i++) { |
156 | if (rs->dev[i].meta_dev) | 156 | if (rs->dev[i].meta_dev) |
157 | dm_put_device(rs->ti, rs->dev[i].meta_dev); | 157 | dm_put_device(rs->ti, rs->dev[i].meta_dev); |
158 | if (rs->dev[i].rdev.sb_page) | 158 | md_rdev_clear(&rs->dev[i].rdev); |
159 | put_page(rs->dev[i].rdev.sb_page); | ||
160 | rs->dev[i].rdev.sb_page = NULL; | ||
161 | rs->dev[i].rdev.sb_loaded = 0; | ||
162 | if (rs->dev[i].data_dev) | 159 | if (rs->dev[i].data_dev) |
163 | dm_put_device(rs->ti, rs->dev[i].data_dev); | 160 | dm_put_device(rs->ti, rs->dev[i].data_dev); |
164 | } | 161 | } |