PERFORCE change 82751 for review
soc-cjones
soc-cjones at FreeBSD.org
Mon Aug 29 09:46:03 GMT 2005
http://perforce.freebsd.org/chv.cgi?CH=82751
Change 82751 by soc-cjones at soc-cjones_ishtar on 2005/08/29 09:46:00
Example configuration files for gvinum.
Affected files ...
.. //depot/projects/soc2005/gvinum/docs/examples/gvinum_lvm.txt#1 add
.. //depot/projects/soc2005/gvinum/docs/examples/gvinum_raid0.txt#1 add
.. //depot/projects/soc2005/gvinum/docs/examples/gvinum_raid1.txt#1 add
.. //depot/projects/soc2005/gvinum/docs/examples/gvinum_raid5.txt#1 add
.. //depot/projects/soc2005/gvinum/docs/handbook/chapter.sgml#2 edit
.. //depot/projects/soc2005/gvinum/src/sys/geom/geom_subr.c#2 edit
.. //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_init.c#2 edit
.. //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_list.c#2 edit
Differences ...
==== //depot/projects/soc2005/gvinum/docs/handbook/chapter.sgml#2 (text+ko) ====
==== //depot/projects/soc2005/gvinum/src/sys/geom/geom_subr.c#2 (text+ko) ====
@@ -577,17 +577,25 @@
int error;
g_topology_assert();
+ printf("g_attach: asserted topology\n");
G_VALID_CONSUMER(cp);
+ printf("g_attach: checked cp=%x's validity\n", cp);
G_VALID_PROVIDER(pp);
+ printf("g_attach: checked pp=%x's validity\n", pp);
KASSERT(cp->provider == NULL, ("attach but attached"));
cp->provider = pp;
+ printf("g_attach: set cp's provider\n");
LIST_INSERT_HEAD(&pp->consumers, cp, consumers);
error = redo_rank(cp->geom);
+ printf("g_attach: inserted cp, error=%d\n", error);
if (error) {
LIST_REMOVE(cp, consumers);
+ printf("g_attach: LIST_REMOVE\n");
cp->provider = NULL;
redo_rank(cp->geom);
+ printf("g_attach: redo_rank\n");
}
+ printf("g_attach: returning\n");
return (error);
}
==== //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_init.c#2 (text+ko) ====
@@ -476,8 +476,12 @@
from = sync->from->consumer;
to = sync->to->consumer;
+ printf("gv_sync_td: from=%p, to=%p)\n", from, to);
+
p = sync->to;
+ printf("gv_sync_td: plex '%s'\n", p->name);
+
if (p->flags & GV_PLEX_SYNCING) {
printf("GEOM_VINUM: plex '%s' is already syncing.\n", p->name);
g_free(sync);
@@ -489,8 +493,11 @@
error = 0;
+ printf("gv_sync_td: locking topology\n");
g_topology_lock();
+ printf("gv_sync_td: locked topology\n");
error = g_access(from, 1, 0, 0);
+ printf("g_access(from, 1, 0, 0) error = %d\n", error);
if (error) {
g_topology_unlock();
printf("GEOM_VINUM: sync from '%s' failed to access "
@@ -499,6 +506,7 @@
kthread_exit(error);
}
error = g_access(to, 0, 1, 0);
+ printf("g_access(to, 0, 1, 0) error = %d\n", error);
if (error) {
g_access(from, -1, 0, 0);
g_topology_unlock();
@@ -507,12 +515,15 @@
g_free(sync);
kthread_exit(error);
}
+ printf("gv_sync_td: unlocking topology\n");
g_topology_unlock();
+ printf("gv_sync_td: unlocked topology\n");
printf("GEOM_VINUM: plex sync %s -> %s started\n", sync->from->name,
sync->to->name);
for (i = 0; i < p->size; i+= sync->syncsize) {
/* Read some bits from the good plex. */
+ printf("g_read_data(%p, %lld, %lld, --)\n", from, (long long int) i, (long long int) sync->syncsize);
buf = g_read_data(from, i, sync->syncsize, &error);
if (buf == NULL) {
printf("GEOM_VINUM: sync read from '%s' failed at "
==== //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_list.c#2 (text+ko) ====
@@ -330,6 +330,8 @@
LIST_FOREACH(s, &p->subdisks, in_plex)
gv_lsi(s, sb, flags);
}
+
+ printf("gv_lpi: plex %s size %lld\n", p->name, (long long) p->size);
}
/* List one or more subdisks. */
@@ -359,6 +361,8 @@
void
gv_lsi(struct gv_sd *s, struct sbuf *sb, int flags)
{
+ printf("gv_lsi: subdisk '%s', consumer %p, provider %p, size %lld\n", s->name, s->consumer, s->provider, (long long) s->size);
+
if (flags & GV_FLAG_V) {
sbuf_printf(sb, "Subdisk %s:\n", s->name);
sbuf_printf(sb, "\t\tSize: %16jd bytes (%jd MB)\n",
More information about the p4-projects
mailing list