From: NeilBrown Add .*suspend and .resume functions required by device-mapper target implementations. Cc: linux-raid@vger.kernel.org Signed-off-by: NeilBrown Signed-off-by: Jonathan Brassow Signed-off-by: Mike Snitzer --- drivers/md/dm-raid.c | 22 ++++++++++++++++++++++ drivers/md/dm-raid.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) Index: linux-2.6.37/drivers/md/dm-raid.c =================================================================== --- linux-2.6.37.orig/drivers/md/dm-raid.c +++ linux-2.6.37/drivers/md/dm-raid.c @@ -606,6 +606,25 @@ static void raid_io_hints(struct dm_targ (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}, @@ -616,6 +635,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)