diff options
author | phk <phk@FreeBSD.org> | 2003-04-23 20:46:12 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2003-04-23 20:46:12 +0000 |
commit | 3bbfe9f43b9f428fa76cf6b43be961ff03071025 (patch) | |
tree | 2d203b1d0b7761a17e73c3483c4149f9172a544b /sys/geom/geom_sunlabel.c | |
parent | f0e2ab20a0f8aec13b4380cbf6075819af64c9a7 (diff) | |
download | FreeBSD-src-3bbfe9f43b9f428fa76cf6b43be961ff03071025.zip FreeBSD-src-3bbfe9f43b9f428fa76cf6b43be961ff03071025.tar.gz |
Rename g_call_me() to g_post_event(), and give it a flag
argument to determine if we can M_WAITOK in malloc.
Diffstat (limited to 'sys/geom/geom_sunlabel.c')
-rw-r--r-- | sys/geom/geom_sunlabel.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/sys/geom/geom_sunlabel.c b/sys/geom/geom_sunlabel.c index c5d4409..edd3e6f 100644 --- a/sys/geom/geom_sunlabel.c +++ b/sys/geom/geom_sunlabel.c @@ -194,15 +194,13 @@ g_sunlabel_config(struct gctl_req *req, struct g_geom *gp, const char *verb) error = g_access_rel(cp, 1, 1, 1); if (error) return (error); - error = g_call_me(g_sunlabel_callconfig, &h0h0, gp, NULL); - if (!error) { - g_topology_unlock(); - do - tsleep(&h0h0, PRIBIO, "g_sunlabel_config", hz); - while (h0h0.error == -1); - g_topology_lock(); - error = h0h0.error; - } + g_post_event(g_sunlabel_callconfig, &h0h0, M_WAITOK, gp, NULL); + g_topology_unlock(); + do + tsleep(&h0h0, PRIBIO, "g_sunlabel_config", hz); + while (h0h0.error == -1); + g_topology_lock(); + error = h0h0.error; g_access_rel(cp, -1, -1, -1); g_free(label); } else if (!strcmp(verb, "write bootcode")) { |