Module Name:    src
Committed By:   oster
Date:           Tue Jul 27 03:01:48 UTC 2021

Modified Files:
        src/sys/dev/raidframe: rf_copyback.c rf_dagfuncs.c rf_diskqueue.c
            rf_diskqueue.h rf_reconstruct.c

Log Message:
rf_CreateDiskQueueData() no longer uses waitflag, and will always succeed.
Cleanup the error path for the (no longer needed) PR_NOWAIT cases.


To generate a diff of this commit:
cvs rdiff -u -r1.54 -r1.55 src/sys/dev/raidframe/rf_copyback.c
cvs rdiff -u -r1.32 -r1.33 src/sys/dev/raidframe/rf_dagfuncs.c
cvs rdiff -u -r1.61 -r1.62 src/sys/dev/raidframe/rf_diskqueue.c
cvs rdiff -u -r1.28 -r1.29 src/sys/dev/raidframe/rf_diskqueue.h
cvs rdiff -u -r1.126 -r1.127 src/sys/dev/raidframe/rf_reconstruct.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/raidframe/rf_copyback.c
diff -u src/sys/dev/raidframe/rf_copyback.c:1.54 src/sys/dev/raidframe/rf_copyback.c:1.55
--- src/sys/dev/raidframe/rf_copyback.c:1.54	Fri Jul 23 00:54:45 2021
+++ src/sys/dev/raidframe/rf_copyback.c	Tue Jul 27 03:01:48 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: rf_copyback.c,v 1.54 2021/07/23 00:54:45 oster Exp $	*/
+/*	$NetBSD: rf_copyback.c,v 1.55 2021/07/27 03:01:48 oster Exp $	*/
 /*
  * Copyright (c) 1995 Carnegie-Mellon University.
  * All rights reserved.
@@ -38,7 +38,7 @@
  ****************************************************************************/
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_copyback.c,v 1.54 2021/07/23 00:54:45 oster Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_copyback.c,v 1.55 2021/07/27 03:01:48 oster Exp $");
 
 #include <dev/raidframe/raidframevar.h>
 
@@ -335,12 +335,10 @@ rf_CopybackOne(RF_CopybackDesc_t *desc, 
 	/* create reqs to read the old location & write the new */
 	desc->readreq = rf_CreateDiskQueueData(RF_IO_TYPE_READ, spOffs,
 	    sectPerSU, desc->databuf, 0L, 0, rf_CopybackReadDoneProc, desc,
-	    NULL, (void *) raidPtr, RF_DISKQUEUE_DATA_FLAGS_NONE, NULL,
-	    PR_WAITOK);
+	    NULL, (void *) raidPtr, RF_DISKQUEUE_DATA_FLAGS_NONE, NULL);
 	desc->writereq = rf_CreateDiskQueueData(RF_IO_TYPE_WRITE, testOffs,
 	    sectPerSU, desc->databuf, 0L, 0, rf_CopybackWriteDoneProc, desc,
-	    NULL, (void *) raidPtr, RF_DISKQUEUE_DATA_FLAGS_NONE, NULL,
-	    PR_WAITOK);
+	    NULL, (void *) raidPtr, RF_DISKQUEUE_DATA_FLAGS_NONE, NULL);
 	desc->fcol = testCol;
 
 	/* enqueue the read.  the write will go out as part of the callback on

Index: src/sys/dev/raidframe/rf_dagfuncs.c
diff -u src/sys/dev/raidframe/rf_dagfuncs.c:1.32 src/sys/dev/raidframe/rf_dagfuncs.c:1.33
--- src/sys/dev/raidframe/rf_dagfuncs.c:1.32	Fri Jun 19 19:29:39 2020
+++ src/sys/dev/raidframe/rf_dagfuncs.c	Tue Jul 27 03:01:48 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: rf_dagfuncs.c,v 1.32 2020/06/19 19:29:39 jdolecek Exp $	*/
+/*	$NetBSD: rf_dagfuncs.c,v 1.33 2021/07/27 03:01:48 oster Exp $	*/
 /*
  * Copyright (c) 1995 Carnegie-Mellon University.
  * All rights reserved.
@@ -48,7 +48,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_dagfuncs.c,v 1.32 2020/06/19 19:29:39 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_dagfuncs.c,v 1.33 2021/07/27 03:01:48 oster Exp $");
 
 #include <sys/param.h>
 #include <sys/ioctl.h>
@@ -280,13 +280,10 @@ rf_DiskReadFuncForThreads(RF_DagNode_t *
 #else
              NULL,
 #endif
-	    (void *) (node->dagHdr->raidPtr), 0, node->dagHdr->bp, PR_NOWAIT);
-	if (!req) {
-		(node->wakeFunc) (node, ENOMEM);
-	} else {
-		node->dagFuncData = (void *) req;
-		rf_DiskIOEnqueue(&(dqs[pda->col]), req, priority);
-	}
+	    (void *) (node->dagHdr->raidPtr), 0, node->dagHdr->bp);
+
+	node->dagFuncData = (void *) req;
+	rf_DiskIOEnqueue(&(dqs[pda->col]), req, priority);
 }
 
 
@@ -314,14 +311,10 @@ rf_DiskWriteFuncForThreads(RF_DagNode_t 
 	    NULL,
 #endif
 	    (void *) (node->dagHdr->raidPtr),
-	    0, node->dagHdr->bp, PR_NOWAIT);
+	    0, node->dagHdr->bp);
 
-	if (!req) {
-		(node->wakeFunc) (node, ENOMEM);
-	} else {
-		node->dagFuncData = (void *) req;
-		rf_DiskIOEnqueue(&(dqs[pda->col]), req, priority);
-	}
+	node->dagFuncData = (void *) req;
+	rf_DiskIOEnqueue(&(dqs[pda->col]), req, priority);
 }
 /*****************************************************************************
  * the undo function for disk nodes
@@ -343,13 +336,10 @@ rf_DiskUndoFunc(RF_DagNode_t *node)
 	     NULL,
 #endif
 	    (void *) (node->dagHdr->raidPtr),
-	    0, NULL, PR_NOWAIT);
-	if (!req)
-		(node->wakeFunc) (node, ENOMEM);
-	else {
-		node->dagFuncData = (void *) req;
-		rf_DiskIOEnqueue(&(dqs[pda->col]), req, RF_IO_NORMAL_PRIORITY);
-	}
+	    0, NULL);
+
+	node->dagFuncData = (void *) req;
+	rf_DiskIOEnqueue(&(dqs[pda->col]), req, RF_IO_NORMAL_PRIORITY);
 }
 
 /*****************************************************************************

Index: src/sys/dev/raidframe/rf_diskqueue.c
diff -u src/sys/dev/raidframe/rf_diskqueue.c:1.61 src/sys/dev/raidframe/rf_diskqueue.c:1.62
--- src/sys/dev/raidframe/rf_diskqueue.c:1.61	Fri Jul 23 20:18:24 2021
+++ src/sys/dev/raidframe/rf_diskqueue.c	Tue Jul 27 03:01:48 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: rf_diskqueue.c,v 1.61 2021/07/23 20:18:24 oster Exp $	*/
+/*	$NetBSD: rf_diskqueue.c,v 1.62 2021/07/27 03:01:48 oster Exp $	*/
 /*
  * Copyright (c) 1995 Carnegie-Mellon University.
  * All rights reserved.
@@ -66,7 +66,7 @@
  ****************************************************************************/
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_diskqueue.c,v 1.61 2021/07/23 20:18:24 oster Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_diskqueue.c,v 1.62 2021/07/27 03:01:48 oster Exp $");
 
 #include <dev/raidframe/raidframevar.h>
 
@@ -373,8 +373,7 @@ rf_CreateDiskQueueData(RF_IoType_t typ, 
 		       RF_ReconUnitNum_t which_ru,
 		       void (*wakeF) (void *, int), void *arg,
 		       RF_AccTraceEntry_t *tracerec, RF_Raid_t *raidPtr,
-		       RF_DiskQueueDataFlags_t flags, const struct buf *mbp,
-		       int waitflag)
+		       RF_DiskQueueDataFlags_t flags, const struct buf *mbp)
 {
 	RF_DiskQueueData_t *p;
 

Index: src/sys/dev/raidframe/rf_diskqueue.h
diff -u src/sys/dev/raidframe/rf_diskqueue.h:1.28 src/sys/dev/raidframe/rf_diskqueue.h:1.29
--- src/sys/dev/raidframe/rf_diskqueue.h:1.28	Fri Jul 23 20:18:24 2021
+++ src/sys/dev/raidframe/rf_diskqueue.h	Tue Jul 27 03:01:48 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: rf_diskqueue.h,v 1.28 2021/07/23 20:18:24 oster Exp $	*/
+/*	$NetBSD: rf_diskqueue.h,v 1.29 2021/07/27 03:01:48 oster Exp $	*/
 /*
  * Copyright (c) 1995 Carnegie-Mellon University.
  * All rights reserved.
@@ -142,7 +142,7 @@ RF_DiskQueueData_t *rf_CreateDiskQueueDa
 					   void *,
 					   RF_AccTraceEntry_t *, RF_Raid_t *,
 					   RF_DiskQueueDataFlags_t,
-					   const struct buf *, int);
+					   const struct buf *);
 void rf_FreeDiskQueueData(RF_DiskQueueData_t *);
 int rf_ConfigureDiskQueue(RF_Raid_t *, RF_DiskQueue_t *,
 			  RF_RowCol_t, const RF_DiskQueueSW_t *,

Index: src/sys/dev/raidframe/rf_reconstruct.c
diff -u src/sys/dev/raidframe/rf_reconstruct.c:1.126 src/sys/dev/raidframe/rf_reconstruct.c:1.127
--- src/sys/dev/raidframe/rf_reconstruct.c:1.126	Fri Jul 23 00:54:45 2021
+++ src/sys/dev/raidframe/rf_reconstruct.c	Tue Jul 27 03:01:48 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: rf_reconstruct.c,v 1.126 2021/07/23 00:54:45 oster Exp $	*/
+/*	$NetBSD: rf_reconstruct.c,v 1.127 2021/07/27 03:01:48 oster Exp $	*/
 /*
  * Copyright (c) 1995 Carnegie-Mellon University.
  * All rights reserved.
@@ -33,7 +33,7 @@
  ************************************************************/
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rf_reconstruct.c,v 1.126 2021/07/23 00:54:45 oster Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rf_reconstruct.c,v 1.127 2021/07/27 03:01:48 oster Exp $");
 
 #include <sys/param.h>
 #include <sys/time.h>
@@ -1313,7 +1313,7 @@ TryToRead(RF_Raid_t *raidPtr, RF_RowCol_
 #else
 				     NULL,
 #endif
-				     (void *) raidPtr, 0, NULL, PR_WAITOK);
+				     (void *) raidPtr, 0, NULL);
 
 	ctrl->rbuf->arg = (void *) req;
 	rf_DiskIOEnqueue(&raidPtr->Queues[col], req, RF_IO_RECON_PRIORITY);
@@ -1501,7 +1501,7 @@ IssueNextWriteRequest(RF_Raid_t *raidPtr
 #else
 				     NULL,
 #endif
-	    (void *) raidPtr, 0, NULL, PR_WAITOK);
+	    (void *) raidPtr, 0, NULL);
 
 	rbuf->arg = (void *) req;
 	rf_lock_mutex2(raidPtr->reconControl->rb_mutex);
@@ -1827,7 +1827,7 @@ rf_ForceOrBlockRecon(RF_Raid_t *raidPtr,
 					    psid, which_ru,
 					    ForceReconReadDoneProc,
 					    (void *) new_rbuf,
-					    NULL, (void *) raidPtr, 0, NULL, PR_WAITOK);
+					    NULL, (void *) raidPtr, 0, NULL);
 
 					new_rbuf->arg = req;
 					rf_DiskIOEnqueue(&raidPtr->Queues[diskno], req, RF_IO_NORMAL_PRIORITY);	/* enqueue the I/O */

Reply via email to