diff options
-rw-r--r-- | sys/dev/vinum/vinumrequest.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/vinum/vinumrequest.c b/sys/dev/vinum/vinumrequest.c index 91f6e15..bba7e1d 100644 --- a/sys/dev/vinum/vinumrequest.c +++ b/sys/dev/vinum/vinumrequest.c @@ -651,7 +651,10 @@ build_write_request(struct request *rq) status = REQUEST_OK; for (plexno = 0; plexno < vol->plexes; plexno++) { diskstart = bp->b_blkno; /* start offset of transfer */ - status = max(status, bre(rq, /* build requests for the plex */ + /* Build requests for the plex. + * We take the best possible result here (min, + * not max): we're happy if we can write at all */ + status = min(status, bre(rq, vol->plex[plexno], &diskstart, diskend)); |