summaryrefslogtreecommitdiffstats
path: root/sys/geom/vinum/geom_vinum_plex.c
diff options
context:
space:
mode:
authorle <le@FreeBSD.org>2004-06-23 23:52:55 +0000
committerle <le@FreeBSD.org>2004-06-23 23:52:55 +0000
commit9eb205c8da3ccebfc8dc3c923d5a0571cb5c528f (patch)
tree74cd4c748586cf1a9aebc23b58ba1c8d4c8be9d6 /sys/geom/vinum/geom_vinum_plex.c
parent30666d1f0f431b581eeacc45735ff41d85d27c23 (diff)
downloadFreeBSD-src-9eb205c8da3ccebfc8dc3c923d5a0571cb5c528f.zip
FreeBSD-src-9eb205c8da3ccebfc8dc3c923d5a0571cb5c528f.tar.gz
Add a function to clean up RAID5 packets and use it when I/O has
finished or when building the complete packet fails.
Diffstat (limited to 'sys/geom/vinum/geom_vinum_plex.c')
-rw-r--r--sys/geom/vinum/geom_vinum_plex.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/geom/vinum/geom_vinum_plex.c b/sys/geom/vinum/geom_vinum_plex.c
index 1887366..c993917 100644
--- a/sys/geom/vinum/geom_vinum_plex.c
+++ b/sys/geom/vinum/geom_vinum_plex.c
@@ -275,6 +275,8 @@ gv_plex_start(struct bio *bp)
boff);
if (err) {
+ if (p->org == GV_PLEX_RAID5)
+ gv_free_raid5_packet(wp);
bp->bio_completed += bcount;
if (bp->bio_error == 0)
bp->bio_error = err;
OpenPOWER on IntegriCloud