dm zoned: add 'message' callback
[linux-2.6-microblaze.git] / drivers / md / dm-zoned-target.c
index 0b4b27d..0bfe341 100644 (file)
@@ -990,6 +990,20 @@ static void dmz_status(struct dm_target *ti, status_type_t type,
        return;
 }
 
+static int dmz_message(struct dm_target *ti, unsigned int argc, char **argv,
+                      char *result, unsigned int maxlen)
+{
+       struct dmz_target *dmz = ti->private;
+       int r = -EINVAL;
+
+       if (!strcasecmp(argv[0], "reclaim")) {
+               dmz_schedule_reclaim(dmz->reclaim);
+               r = 0;
+       } else
+               DMERR("unrecognized message %s", argv[0]);
+       return r;
+}
+
 static struct target_type dmz_type = {
        .name            = "zoned",
        .version         = {1, 1, 0},
@@ -1004,6 +1018,7 @@ static struct target_type dmz_type = {
        .resume          = dmz_resume,
        .iterate_devices = dmz_iterate_devices,
        .status          = dmz_status,
+       .message         = dmz_message,
 };
 
 static int __init dmz_init(void)