diff options
Diffstat (limited to 'drivers/md/dm-snap.c')
| -rw-r--r-- | drivers/md/dm-snap.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/drivers/md/dm-snap.c b/drivers/md/dm-snap.c index d573165cd2b7..57f1bf7f3b7a 100644 --- a/drivers/md/dm-snap.c +++ b/drivers/md/dm-snap.c | |||
| @@ -1176,6 +1176,15 @@ static int snapshot_status(struct dm_target *ti, status_type_t type, | |||
| 1176 | return 0; | 1176 | return 0; |
| 1177 | } | 1177 | } |
| 1178 | 1178 | ||
| 1179 | static int snapshot_iterate_devices(struct dm_target *ti, | ||
| 1180 | iterate_devices_callout_fn fn, void *data) | ||
| 1181 | { | ||
| 1182 | struct dm_snapshot *snap = ti->private; | ||
| 1183 | |||
| 1184 | return fn(ti, snap->origin, 0, ti->len, data); | ||
| 1185 | } | ||
| 1186 | |||
| 1187 | |||
| 1179 | /*----------------------------------------------------------------- | 1188 | /*----------------------------------------------------------------- |
| 1180 | * Origin methods | 1189 | * Origin methods |
| 1181 | *---------------------------------------------------------------*/ | 1190 | *---------------------------------------------------------------*/ |
| @@ -1410,20 +1419,29 @@ static int origin_status(struct dm_target *ti, status_type_t type, char *result, | |||
| 1410 | return 0; | 1419 | return 0; |
| 1411 | } | 1420 | } |
| 1412 | 1421 | ||
| 1422 | static int origin_iterate_devices(struct dm_target *ti, | ||
| 1423 | iterate_devices_callout_fn fn, void *data) | ||
| 1424 | { | ||
| 1425 | struct dm_dev *dev = ti->private; | ||
| 1426 | |||
| 1427 | return fn(ti, dev, 0, ti->len, data); | ||
| 1428 | } | ||
| 1429 | |||
| 1413 | static struct target_type origin_target = { | 1430 | static struct target_type origin_target = { |
| 1414 | .name = "snapshot-origin", | 1431 | .name = "snapshot-origin", |
| 1415 | .version = {1, 6, 0}, | 1432 | .version = {1, 7, 0}, |
| 1416 | .module = THIS_MODULE, | 1433 | .module = THIS_MODULE, |
| 1417 | .ctr = origin_ctr, | 1434 | .ctr = origin_ctr, |
| 1418 | .dtr = origin_dtr, | 1435 | .dtr = origin_dtr, |
| 1419 | .map = origin_map, | 1436 | .map = origin_map, |
| 1420 | .resume = origin_resume, | 1437 | .resume = origin_resume, |
| 1421 | .status = origin_status, | 1438 | .status = origin_status, |
| 1439 | .iterate_devices = origin_iterate_devices, | ||
| 1422 | }; | 1440 | }; |
| 1423 | 1441 | ||
| 1424 | static struct target_type snapshot_target = { | 1442 | static struct target_type snapshot_target = { |
| 1425 | .name = "snapshot", | 1443 | .name = "snapshot", |
| 1426 | .version = {1, 6, 0}, | 1444 | .version = {1, 7, 0}, |
| 1427 | .module = THIS_MODULE, | 1445 | .module = THIS_MODULE, |
| 1428 | .ctr = snapshot_ctr, | 1446 | .ctr = snapshot_ctr, |
| 1429 | .dtr = snapshot_dtr, | 1447 | .dtr = snapshot_dtr, |
| @@ -1431,6 +1449,7 @@ static struct target_type snapshot_target = { | |||
| 1431 | .end_io = snapshot_end_io, | 1449 | .end_io = snapshot_end_io, |
| 1432 | .resume = snapshot_resume, | 1450 | .resume = snapshot_resume, |
| 1433 | .status = snapshot_status, | 1451 | .status = snapshot_status, |
| 1452 | .iterate_devices = snapshot_iterate_devices, | ||
| 1434 | }; | 1453 | }; |
| 1435 | 1454 | ||
| 1436 | static int __init dm_snapshot_init(void) | 1455 | static int __init dm_snapshot_init(void) |
