summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorgrog <grog@FreeBSD.org>1998-11-02 04:10:19 +0000
committergrog <grog@FreeBSD.org>1998-11-02 04:10:19 +0000
commitdac500a9622b6e82e3e860f5340bf9fb6804894f (patch)
treed1627813052d05b2d7880f3221a1a3035733d6c4 /sys/dev
parentb7c6c26d5ae2740c585aff6b24d4bc856f56b794 (diff)
downloadFreeBSD-src-dac500a9622b6e82e3e860f5340bf9fb6804894f.zip
FreeBSD-src-dac500a9622b6e82e3e860f5340bf9fb6804894f.tar.gz
Get the default revive blocksize right for striped and RAID-5 plexes
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/vinum/vinumrevive.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/vinum/vinumrevive.c b/sys/dev/vinum/vinumrevive.c
index 216dc48..2d93524 100644
--- a/sys/dev/vinum/vinumrevive.c
+++ b/sys/dev/vinum/vinumrevive.c
@@ -33,7 +33,7 @@
* otherwise) arising in any way out of the use of this software, even if
* advised of the possibility of such damage.
*
- * $Id: revive.c,v 1.1.1.1 1998/09/16 05:56:21 grog Exp $
+ * $Id: revive.c,v 1.3 1998/10/30 00:56:38 grog Exp grog $
*/
#define REALLYKERNEL
@@ -51,12 +51,13 @@ revive_block(int plexno)
struct plex *plex = &PLEX[plexno];
struct buf *bp;
int error = EAGAIN;
- int size;
+ int size; /* size of revive block, bytes */
int s; /* priority level */
if (plex->revive_blocksize == 0) {
if (plex->stripesize != 0) /* we're striped, don't revive more than */
- plex->revive_blocksize = min(DEFAULT_REVIVE_BLOCKSIZE, plex->stripesize); /* one block at a time */
+ plex->revive_blocksize = min(DEFAULT_REVIVE_BLOCKSIZE, /* one block at a time */
+ plex->stripesize << DEV_BSHIFT);
else
plex->revive_blocksize = DEFAULT_REVIVE_BLOCKSIZE;
}
OpenPOWER on IntegriCloud