diff --git a/[refs] b/[refs] index 0eade1a044f4..e62af74080e5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 637842cfdbe2b981f7088f7633e630570f58efaf +refs/heads/master: d229a9589ff3b988d3f999cdcfa350f97a372673 diff --git a/trunk/drivers/md/dm.c b/trunk/drivers/md/dm.c index 27cd234cf682..9e8c1edd89dd 100644 --- a/trunk/drivers/md/dm.c +++ b/trunk/drivers/md/dm.c @@ -921,6 +921,16 @@ static struct mapped_device *dm_find_md(dev_t dev) return md; } +struct mapped_device *dm_get_md(dev_t dev) +{ + struct mapped_device *md = dm_find_md(dev); + + if (md) + dm_get(md); + + return md; +} + void *dm_get_mdptr(dev_t dev) { struct mapped_device *md; diff --git a/trunk/drivers/md/dm.h b/trunk/drivers/md/dm.h index e38c3fc1a1db..ab078a249396 100644 --- a/trunk/drivers/md/dm.h +++ b/trunk/drivers/md/dm.h @@ -58,6 +58,7 @@ int dm_create(struct mapped_device **md); int dm_create_with_minor(unsigned int minor, struct mapped_device **md); void dm_set_mdptr(struct mapped_device *md, void *ptr); void *dm_get_mdptr(dev_t dev); +struct mapped_device *dm_get_md(dev_t dev); /* * Reference counting for md.