Changeset View
Changeset View
Standalone View
Standalone View
sys/geom/cache/g_cache.c
Show First 20 Lines • Show All 751 Lines • ▼ Show 20 Lines | if (*bsize < 0) { | ||||
gctl_error(req, "Invalid '%s' argument", "blocksize"); | gctl_error(req, "Invalid '%s' argument", "blocksize"); | ||||
return; | return; | ||||
} | } | ||||
md.md_bsize = (u_int)*bsize; | md.md_bsize = (u_int)*bsize; | ||||
/* This field is not important here. */ | /* This field is not important here. */ | ||||
md.md_provsize = 0; | md.md_provsize = 0; | ||||
name = gctl_get_asciiparam(req, "arg1"); | pp = gctl_get_provider(req, "arg1"); | ||||
if (name == NULL) { | if (pp == NULL) | ||||
gctl_error(req, "No 'arg1' argument"); | |||||
return; | return; | ||||
} | |||||
if (strncmp(name, _PATH_DEV, strlen(_PATH_DEV)) == 0) | |||||
name += strlen(_PATH_DEV); | |||||
pp = g_provider_by_name(name); | |||||
if (pp == NULL) { | |||||
G_CACHE_DEBUG(1, "Provider %s is invalid.", name); | |||||
gctl_error(req, "Provider %s is invalid.", name); | |||||
return; | |||||
} | |||||
gp = g_cache_create(mp, pp, &md, G_CACHE_TYPE_MANUAL); | gp = g_cache_create(mp, pp, &md, G_CACHE_TYPE_MANUAL); | ||||
if (gp == NULL) { | if (gp == NULL) { | ||||
gctl_error(req, "Can't create %s.", md.md_name); | gctl_error(req, "Can't create %s.", md.md_name); | ||||
return; | return; | ||||
} | } | ||||
} | } | ||||
static void | static void | ||||
▲ Show 20 Lines • Show All 244 Lines • Show Last 20 Lines |