Use M_INTWAIT, not M_NOWAIT. We don't really support fast interrupt
authorJoerg Sonnenberger <joerg@dragonflybsd.org>
Thu, 27 Jan 2005 02:43:12 +0000 (02:43 +0000)
committerJoerg Sonnenberger <joerg@dragonflybsd.org>
Thu, 27 Jan 2005 02:43:12 +0000 (02:43 +0000)
block devices anyway.

sys/dev/raid/vinum/vinumext.h
sys/dev/raid/vinum/vinummemory.c

index b3d20d7..f9d953f 100644 (file)
@@ -35,7 +35,7 @@
  *
  * $Id: vinumext.h,v 1.26 2000/05/16 07:38:08 grog Exp grog $
  * $FreeBSD: src/sys/dev/vinum/vinumext.h,v 1.25.2.3 2001/05/11 02:11:06 grog Exp $
- * $DragonFly: src/sys/dev/raid/vinum/vinumext.h,v 1.4 2004/05/19 22:52:48 dillon Exp $
+ * $DragonFly: src/sys/dev/raid/vinum/vinumext.h,v 1.5 2005/01/27 02:43:12 joerg Exp $
  */
 
 /* vinumext.h: external definitions */
@@ -256,7 +256,7 @@ void FFree(void *mem, char *, int);
 #define LOCKDRIVE(d) lockdrive (d, __FILE__, __LINE__)
 #else
 #define Malloc(x)  malloc((x), M_DEVBUF, \
-       mycpu->gd_intr_nesting_level == 0? M_WAITOK: M_NOWAIT)
+       mycpu->gd_intr_nesting_level == 0? M_WAITOK: M_INTWAIT)
 #define Free(x)    free((x), M_DEVBUF)
 #define LOCKDRIVE(d) lockdrive (d)
 #endif
index 19ba9ee..bf5402b 100644 (file)
@@ -35,7 +35,7 @@
  *
  * $Id: vinummemory.c,v 1.25 2000/05/04 01:57:48 grog Exp grog $
  * $FreeBSD: src/sys/dev/vinum/vinummemory.c,v 1.22.2.1 2000/06/02 04:26:11 grog Exp $
- * $DragonFly: src/sys/dev/raid/vinum/vinummemory.c,v 1.4 2003/08/07 21:17:09 dillon Exp $
+ * $DragonFly: src/sys/dev/raid/vinum/vinummemory.c,v 1.5 2005/01/27 02:43:12 joerg Exp $
  */
 
 #include "vinumhdr.h"
@@ -152,7 +152,7 @@ MMalloc(int size, char *file, int line)
        return 0;                                           /* can't continue */
     }
     /* Wait for malloc if we can */
-    result = malloc(size, M_DEVBUF, mycpu->gd_intr_nesting_level == 0 ? M_WAITOK : M_NOWAIT);
+    result = malloc(size, M_DEVBUF, mycpu->gd_intr_nesting_level == 0 ? M_WAITOK : M_INTWAIT);
     if (result == NULL)
        log(LOG_ERR, "vinum: can't allocate %d bytes from %s:%d\n", size, file, line);
     else {