From d4a23938cfcfbad7726dfdde552e1585022729fa Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Mon, 20 Dec 2010 20:23:34 -0500 Subject: [PATCH v3 8/8] dm raid: add suspend and resume functions Add .*suspend and .resume functions required by device-mapper target implementations. Signed-off-by: NeilBrown Signed-off-by: Jonathan Brassow Signed-off-by: Mike Snitzer --- drivers/md/dm-raid.c | 22 ++++++++++++++++++++++ 1 files changed, 22 insertions(+), 0 deletions(-) diff --git a/drivers/md/dm-raid.c b/drivers/md/dm-raid.c index 6494833..91770de 100644 --- a/drivers/md/dm-raid.c +++ b/drivers/md/dm-raid.c @@ -608,6 +608,25 @@ static void raid_io_hints(struct dm_target *ti, (conf->raid_disks - conf->max_degraded)); } +static void raid_presuspend(struct dm_target *ti) +{ + struct raid_set *rs = ti->private; + md_stop_writes(&rs->md); +} + +static void raid_postsuspend(struct dm_target *ti) +{ + struct raid_set *rs = ti->private; + mddev_suspend(&rs->md); +} + +static void raid_resume(struct dm_target *ti) +{ + struct raid_set *rs = ti->private; + + mddev_resume(&rs->md); +} + static struct target_type raid_target = { .name = "raid", .version = {1, 0, 0}, @@ -618,6 +637,9 @@ static struct target_type raid_target = { .status = raid_status, .iterate_devices = raid_iterate_devices, .io_hints = raid_io_hints, + .presuspend = raid_presuspend, + .postsuspend = raid_postsuspend, + .resume = raid_resume, }; static int __init dm_raid_init(void) -- 1.7.2.3