summaryrefslogtreecommitdiffstats
path: root/sys/dev/softraid.c
diff options
context:
space:
mode:
authorjsing <jsing@openbsd.org>2013-05-21 14:25:23 +0000
committerjsing <jsing@openbsd.org>2013-05-21 14:25:23 +0000
commit97ec8a20eb5b47af0001b243e0807f63c770048f (patch)
tree8383b4407ab0a39fb25e6a9e4d18a7ba300a1d49 /sys/dev/softraid.c
parentWrap list of prototypes in a .nr nS 1/0 pair just like all the others. No (diff)
downloadwireguard-openbsd-97ec8a20eb5b47af0001b243e0807f63c770048f.tar.xz
wireguard-openbsd-97ec8a20eb5b47af0001b243e0807f63c770048f.zip
Use a state to indicate that a work unit should only be constructed and not
scheduled, rather than trying to imply this from the rebuild flag.
Diffstat (limited to 'sys/dev/softraid.c')
-rw-r--r--sys/dev/softraid.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/softraid.c b/sys/dev/softraid.c
index ce0d771fb61..f951a4d57eb 100644
--- a/sys/dev/softraid.c
+++ b/sys/dev/softraid.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: softraid.c,v 1.302 2013/04/26 15:45:35 jsing Exp $ */
+/* $OpenBSD: softraid.c,v 1.303 2013/05/21 14:25:23 jsing Exp $ */
/*
* Copyright (c) 2007, 2008, 2009 Marco Peereboom <marco@peereboom.us>
* Copyright (c) 2008 Chris Kuethe <ckuethe@openbsd.org>
@@ -4632,6 +4632,7 @@ sr_rebuild_thread(void *arg)
cr->opcode = READ_16;
_lto4b(sz, cr->length);
_lto8b(lba, cr->addr);
+ wu_r->swu_state = SR_WU_CONSTRUCT;
wu_r->swu_flags |= SR_WUF_REBUILD;
wu_r->swu_xs = &xs_r;
if (sd->sd_scsi_rw(wu_r)) {
@@ -4652,6 +4653,7 @@ sr_rebuild_thread(void *arg)
cw->opcode = WRITE_16;
_lto4b(sz, cw->length);
_lto8b(lba, cw->addr);
+ wu_w->swu_state = SR_WU_CONSTRUCT;
wu_w->swu_flags |= SR_WUF_REBUILD | SR_WUF_WAKEUP;
wu_w->swu_xs = &xs_w;
if (sd->sd_scsi_rw(wu_w)) {