aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/dm.c
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2006-01-06 03:20:00 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-06 11:33:59 -0500
commit637842cfdbe2b981f7088f7633e630570f58efaf (patch)
tree05b64c2f30612ab126df9e3ba8448d62101341d2 /drivers/md/dm.c
parent9f708e40fe040e79f6c393a282f0701c9f8dc174 (diff)
[PATCH] device-mapper: add dm_find_md
Abstract dm_find_md() from dm_get_mdptr() to allow use elsewhere. 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/dm.c')
-rw-r--r--drivers/md/dm.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index 930b9fc27953..27cd234cf682 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -902,10 +902,9 @@ int dm_create_with_minor(unsigned int minor, struct mapped_device **result)
902 return create_aux(minor, 1, result); 902 return create_aux(minor, 1, result);
903} 903}
904 904
905void *dm_get_mdptr(dev_t dev) 905static struct mapped_device *dm_find_md(dev_t dev)
906{ 906{
907 struct mapped_device *md; 907 struct mapped_device *md;
908 void *mdptr = NULL;
909 unsigned minor = MINOR(dev); 908 unsigned minor = MINOR(dev);
910 909
911 if (MAJOR(dev) != _major || minor >= (1 << MINORBITS)) 910 if (MAJOR(dev) != _major || minor >= (1 << MINORBITS))
@@ -914,12 +913,22 @@ void *dm_get_mdptr(dev_t dev)
914 down(&_minor_lock); 913 down(&_minor_lock);
915 914
916 md = idr_find(&_minor_idr, minor); 915 md = idr_find(&_minor_idr, minor);
917 916 if (!md || (dm_disk(md)->first_minor != minor))
918 if (md && (dm_disk(md)->first_minor == minor)) 917 md = NULL;
919 mdptr = md->interface_ptr;
920 918
921 up(&_minor_lock); 919 up(&_minor_lock);
922 920
921 return md;
922}
923
924void *dm_get_mdptr(dev_t dev)
925{
926 struct mapped_device *md;
927 void *mdptr = NULL;
928
929 md = dm_find_md(dev);
930 if (md)
931 mdptr = md->interface_ptr;
923 return mdptr; 932 return mdptr;
924} 933}
925 934