Page MenuHomeFreeBSD

D3725.id8911.diff
No OneTemporary

D3725.id8911.diff

Index: sys/geom/geom_dev.c
===================================================================
--- sys/geom/geom_dev.c
+++ sys/geom/geom_dev.c
@@ -111,19 +111,24 @@
"delete request sent to the provider. Larger requests are chunked "
"so they can be interrupted. (0 = disable chunking)");
+static char *env_dumpdev = NULL;
static char *dumpdev = NULL;
static void
g_dev_init(struct g_class *mp)
{
+ static const char *devprefix = "/dev/";
- dumpdev = kern_getenv("dumpdev");
+ dumpdev = env_dumpdev = kern_getenv("dumpdev");
+ if (strncmp(dumpdev, devprefix, strlen(devprefix)) == 0)
+ dumpdev += strlen(devprefix);
}
static void
g_dev_fini(struct g_class *mp)
{
- freeenv(dumpdev);
+ freeenv(env_dumpdev);
+ dumpdev = env_dumpdev = NULL;
}
static int
@@ -158,8 +163,8 @@
if (strcmp(devtoname(dev), dumpdev) != 0)
return;
if (g_dev_setdumpdev(dev, curthread) == 0) {
- freeenv(dumpdev);
- dumpdev = NULL;
+ freeenv(env_dumpdev);
+ dumpdev = env_dumpdev = NULL;
}
}

File Metadata

Mime Type
text/plain
Expires
Tue, Apr 28, 8:10 AM (8 h, 41 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
32260669
Default Alt Text
D3725.id8911.diff (1011 B)

Event Timeline