diff options
author | David Teigland <teigland@redhat.com> | 2006-01-06 00:20:01 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-06 08:34:00 -0800 |
commit | d229a9589ff3b988d3f999cdcfa350f97a372673 (patch) | |
tree | ea6da350027f02736de7c1b7f350bc915abae39c /drivers/md | |
parent | 637842cfdbe2b981f7088f7633e630570f58efaf (diff) | |
download | op-kernel-dev-d229a9589ff3b988d3f999cdcfa350f97a372673.zip op-kernel-dev-d229a9589ff3b988d3f999cdcfa350f97a372673.tar.gz |
[PATCH] device-mapper: add dm_get_md
Add dm_get_dev() to get a mapped device given its dev_t.
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/md')
-rw-r--r-- | drivers/md/dm.c | 10 | ||||
-rw-r--r-- | drivers/md/dm.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 27cd234..9e8c1ed 100644 --- a/drivers/md/dm.c +++ b/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/drivers/md/dm.h b/drivers/md/dm.h index e38c3fc..ab078a2 100644 --- a/drivers/md/dm.h +++ b/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. |