svn commit: r187095 - projects/gvinum/sys/geom/vinum
Ulf Lilleengen
lulf at FreeBSD.org
Mon Jan 12 03:47:25 PST 2009
Author: lulf
Date: Mon Jan 12 11:47:24 2009
New Revision: 187095
URL: http://svn.freebsd.org/changeset/base/187095
Log:
- Add version checks to the code to allow it to be more easily tested on older
FreeBSD versions.
- Add missing locking of hostname_mtx that was added to HEAD.
Modified:
projects/gvinum/sys/geom/vinum/geom_vinum.c
projects/gvinum/sys/geom/vinum/geom_vinum_create.c
projects/gvinum/sys/geom/vinum/geom_vinum_drive.c
Modified: projects/gvinum/sys/geom/vinum/geom_vinum.c
==============================================================================
--- projects/gvinum/sys/geom/vinum/geom_vinum.c Mon Jan 12 11:24:32 2009 (r187094)
+++ projects/gvinum/sys/geom/vinum/geom_vinum.c Mon Jan 12 11:47:24 2009 (r187095)
@@ -177,7 +177,11 @@ gv_init(struct g_class *mp)
TAILQ_INIT(&sc->equeue);
mtx_init(&sc->config_mtx, "gv_config", NULL, MTX_DEF);
mtx_init(&sc->queue_mtx, "gv_queue", NULL, MTX_DEF);
+#if __FreeBSD_version >= 800002
kproc_create(gv_worker, sc, NULL, 0, 0, "gv_worker");
+#else
+ kthread_create(gv_worker, sc, NULL, 0, 0, "gv_worker");
+#endif
}
static int
@@ -961,7 +965,11 @@ gv_worker(void *arg)
mtx_destroy(&sc->queue_mtx);
g_free(sc->bqueue);
g_free(sc);
+#if __FreeBSD_version >= 800002
kproc_exit(ENXIO);
+#else
+ kthread_exit(ENXIO);
+#endif
break; /* not reached */
default:
Modified: projects/gvinum/sys/geom/vinum/geom_vinum_create.c
==============================================================================
--- projects/gvinum/sys/geom/vinum/geom_vinum_create.c Mon Jan 12 11:24:32 2009 (r187094)
+++ projects/gvinum/sys/geom/vinum/geom_vinum_create.c Mon Jan 12 11:47:24 2009 (r187095)
@@ -32,6 +32,9 @@
#include <sys/kernel.h>
#include <sys/malloc.h>
#include <sys/systm.h>
+#if __FreeBSD_version >= 800044
+#include <sys/vimage.h>
+#endif
#include <geom/geom.h>
#include <geom/vinum/geom_vinum_var.h>
@@ -152,7 +155,13 @@ gv_create_drive(struct gv_softc *sc, str
hdr = g_malloc(sizeof(*hdr), M_WAITOK | M_ZERO);
hdr->magic = GV_MAGIC;
hdr->config_length = GV_CFG_LEN;
+#if __FreeBSD_version >= 800044
+ mtx_lock(&hostname_mtx);
+ bcopy(G_hostname, hdr->label.sysname, GV_HOSTNAME_LEN);
+ mtx_unlock(&hostname_mtx);
+#else
bcopy(hostname, hdr->label.sysname, GV_HOSTNAME_LEN);
+#endif
strlcpy(hdr->label.name, d->name, sizeof(hdr->label.name));
microtime(&hdr->label.date_of_birth);
d->hdr = hdr;
Modified: projects/gvinum/sys/geom/vinum/geom_vinum_drive.c
==============================================================================
--- projects/gvinum/sys/geom/vinum/geom_vinum_drive.c Mon Jan 12 11:24:32 2009 (r187094)
+++ projects/gvinum/sys/geom/vinum/geom_vinum_drive.c Mon Jan 12 11:47:24 2009 (r187095)
@@ -30,7 +30,9 @@ __FBSDID("$FreeBSD$");
#include <sys/endian.h>
#include <sys/malloc.h>
#include <sys/systm.h>
+#if __FreeBSD_version >= 800044
#include <sys/vimage.h>
+#endif
#include <geom/geom.h>
#include <geom/vinum/geom_vinum_var.h>
More information about the svn-src-projects
mailing list