<dec f='src/src/sys/dev/raidframe/rf_diskqueue.h' l='138' type='void rf_DiskIOEnqueue(RF_DiskQueue_t * , RF_DiskQueueData_t * , int )'/>
<use f='src/src/sys/dev/raidframe/rf_copyback.c' l='356' u='c' c='rf_CopybackOne'/>
<use f='src/src/sys/dev/raidframe/rf_copyback.c' l='378' u='c' c='rf_CopybackReadDoneProc'/>
<use f='src/src/sys/dev/raidframe/rf_dagfuncs.c' l='300' u='c' c='rf_DiskReadFuncForThreads'/>
<use f='src/src/sys/dev/raidframe/rf_dagfuncs.c' l='342' u='c' c='rf_DiskWriteFuncForThreads'/>
<use f='src/src/sys/dev/raidframe/rf_dagfuncs.c' l='374' u='c' c='rf_DiskUndoFunc'/>
<def f='src/src/sys/dev/raidframe/rf_diskqueue.c' l='275' ll='298' type='void rf_DiskIOEnqueue(RF_DiskQueue_t * queue, RF_DiskQueueData_t * req, int pri)'/>
<doc f='src/src/sys/dev/raidframe/rf_diskqueue.c' l='260'>/* Enqueue a disk I/O
 *
 * In the kernel, I/O is non-blocking and so we&apos;d like to have multiple
 * I/Os outstanding on the physical disks when possible.
 *
 * when any request arrives at a queue, we have two choices:
 *    dispatch it to the lower levels
 *    queue it up
 *
 * kernel rules for when to do what:
 *    unlocking req  :  always dispatch it
 *    normal req     :  queue empty =&gt; dispatch it &amp; set priority
 *                      queue not full &amp; priority is ok =&gt; dispatch it
 *                      else queue it
 */</doc>
<use f='src/src/sys/dev/raidframe/rf_reconstruct.c' l='1315' u='c' c='TryToRead'/>
<use f='src/src/sys/dev/raidframe/rf_reconstruct.c' l='1506' u='c' c='IssueNextWriteRequest'/>
<use f='src/src/sys/dev/raidframe/rf_reconstruct.c' l='1828' u='c' c='rf_ForceOrBlockRecon'/>
