summaryrefslogtreecommitdiffstats
path: root/sys/dev/softraid_raid5.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/softraid_raid5.c')
-rw-r--r--sys/dev/softraid_raid5.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/sys/dev/softraid_raid5.c b/sys/dev/softraid_raid5.c
index 1229a1e8353..cf55cd79e32 100644
--- a/sys/dev/softraid_raid5.c
+++ b/sys/dev/softraid_raid5.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: softraid_raid5.c,v 1.19 2015/05/29 13:48:45 krw Exp $ */
+/* $OpenBSD: softraid_raid5.c,v 1.20 2015/07/19 17:04:31 krw Exp $ */
/*
* Copyright (c) 2014 Joel Sing <jsing@openbsd.org>
* Copyright (c) 2009 Marco Peereboom <marco@peereboom.us>
@@ -414,8 +414,7 @@ sr_raid5_rw(struct sr_workunit *wu)
strip_no = lbaoffs >> strip_bits;
strip_offs = lbaoffs & (strip_size - 1);
chunk_offs = (strip_no / no_chunk) << strip_bits;
- phys_offs = chunk_offs + strip_offs +
- (sd->sd_meta->ssd_data_offset << DEV_BSHIFT);
+ phys_offs = chunk_offs + strip_offs;
/* get size remaining in this stripe */
length = MIN(strip_size - strip_offs, datalen);
@@ -814,8 +813,7 @@ sr_raid5_rebuild(struct sr_discipline *sd)
}
for (strip_no = restart; strip_no < chunk_strips; strip_no++) {
- chunk_lba = (strip_size >> DEV_BSHIFT) * strip_no +
- sd->sd_meta->ssd_data_offset;
+ chunk_lba = (strip_size >> DEV_BSHIFT) * strip_no;
DNPRINTF(SR_D_REBUILD, "%s: %s rebuild strip %lld, "
"chunk lba = %lld\n", DEVNAME(sd->sd_sc),
@@ -867,8 +865,7 @@ sr_raid5_rebuild(struct sr_discipline *sd)
sr_scsi_wu_put(sd, wu_r);
sr_scsi_wu_put(sd, wu_w);
- sd->sd_meta->ssd_rebuild =
- (chunk_lba - sd->sd_meta->ssd_data_offset) * chunk_count;
+ sd->sd_meta->ssd_rebuild = chunk_lba * chunk_count;
psz = sd->sd_meta->ssdi.ssd_size;
rb = sd->sd_meta->ssd_rebuild;