Add the new g_dev_getprovider() function, the swap_pager needs it now.

Spotted by:	mr
This commit is contained in:
Poul-Henning Kamp 2003-08-30 18:33:55 +00:00
parent dee34ca4fc
commit bff1e2999d
2 changed files with 15 additions and 0 deletions

View file

@ -173,6 +173,7 @@ struct g_provider {
/* geom_dev.c */
void g_dev_print(void);
struct g_provider *g_dev_getprovider(dev_t dev);
/* geom_dump.c */
void g_hexdump(void *ptr, int length);

View file

@ -133,6 +133,20 @@ g_dev_register_cloner(void *foo __unused)
SYSINIT(geomdev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE,g_dev_register_cloner,NULL);
struct g_provider *
g_dev_getprovider(dev_t dev)
{
struct g_consumer *cp;
if (dev == NULL)
return (NULL);
if (devsw(dev) != &g_dev_cdevsw)
return (NULL);
cp = dev->si_drv2;
return (cp->provider);
}
static struct g_geom *
g_dev_taste(struct g_class *mp, struct g_provider *pp, int insist __unused)
{