aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2006-01-06 00:20:01 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-06 08:34:00 -0800
commitd229a9589ff3b988d3f999cdcfa350f97a372673 (patch)
treeea6da350027f02736de7c1b7f350bc915abae39c
parent[PATCH] device-mapper: add dm_find_md (diff)
downloadlinux-dev-d229a9589ff3b988d3f999cdcfa350f97a372673.tar.xz
linux-dev-d229a9589ff3b988d3f999cdcfa350f97a372673.zip
[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>
-rw-r--r--drivers/md/dm.c10
-rw-r--r--drivers/md/dm.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index 27cd234cf682..9e8c1edd89dd 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 e38c3fc1a1db..ab078a249396 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.