diff options
author | le <le@FreeBSD.org> | 2004-08-23 17:50:18 +0000 |
---|---|---|
committer | le <le@FreeBSD.org> | 2004-08-23 17:50:18 +0000 |
commit | b83d5cd619c2b7faf33b2afc9600440ffe59bf7e (patch) | |
tree | 960026f9eeb94cb317ffb12f1822bc04323a2955 /sys/geom/vinum | |
parent | 2c9dfeb26fff92e3ba5a7477b9c3862a56070999 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/geom/vinum/geom_vinum_raid5.c | 2 |
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); } |