summaryrefslogtreecommitdiffstats
path: root/sys/geom/vinum/geom_vinum_raid5.c
diff options
context:
space:
mode:
authorle <le@FreeBSD.org>2004-08-23 17:50:18 +0000
committerle <le@FreeBSD.org>2004-08-23 17:50:18 +0000
commitb83d5cd619c2b7faf33b2afc9600440ffe59bf7e (patch)
tree960026f9eeb94cb317ffb12f1822bc04323a2955 /sys/geom/vinum/geom_vinum_raid5.c
parent2c9dfeb26fff92e3ba5a7477b9c3862a56070999 (diff)
downloadFreeBSD-src-b83d5cd619c2b7faf33b2afc9600440ffe59bf7e.zip
FreeBSD-src-b83d5cd619c2b7faf33b2afc9600440ffe59bf7e.tar.gz
Compare the addresses of two RAID5 work packets directly instead
of the addresses of their related bios when locking one out, since they could share a bio and this could lead to parity corruption.
Diffstat (limited to 'sys/geom/vinum/geom_vinum_raid5.c')
-rw-r--r--sys/geom/vinum/geom_vinum_raid5.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/geom/vinum/geom_vinum_raid5.c b/sys/geom/vinum/geom_vinum_raid5.c
index 55eb582..8dfe8ab 100644
--- a/sys/geom/vinum/geom_vinum_raid5.c
+++ b/sys/geom/vinum/geom_vinum_raid5.c
@@ -101,7 +101,7 @@ gv_stripe_active(struct gv_raid5_packet *wp, struct gv_plex *sc)
TAILQ_FOREACH(wpa, &sc->worklist, list) {
if (wpa->lockbase == wp->lockbase) {
- if (wpa->bio == wp->bio)
+ if (wpa == wp)
return (0);
return (1);
}
OpenPOWER on IntegriCloud