The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/raidframe/rf_sstf.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*      $NetBSD: rf_sstf.h,v 1.3 1999/02/05 00:06:17 oster Exp $        */
    2 /*
    3  * Copyright (c) 1995 Carnegie-Mellon University.
    4  * All rights reserved.
    5  *
    6  * Author: Jim Zelenka
    7  *
    8  * Permission to use, copy, modify and distribute this software and
    9  * its documentation is hereby granted, provided that both the copyright
   10  * notice and this permission notice appear in all copies of the
   11  * software, derivative works or modified versions, and any portions
   12  * thereof, and that both notices appear in supporting documentation.
   13  *
   14  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
   15  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
   16  * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
   17  *
   18  * Carnegie Mellon requests users of this software to return to
   19  *
   20  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
   21  *  School of Computer Science
   22  *  Carnegie Mellon University
   23  *  Pittsburgh PA 15213-3890
   24  *
   25  * any improvements or extensions that they make and grant Carnegie the
   26  * rights to redistribute these changes.
   27  */
   28 
   29 #ifndef _RF__RF_SSTF_H_
   30 #define _RF__RF_SSTF_H_
   31 
   32 #include "rf_diskqueue.h"
   33 
   34 typedef struct RF_SstfQ_s {
   35         RF_DiskQueueData_t *queue;
   36         RF_DiskQueueData_t *qtail;
   37         int     qlen;
   38 }       RF_SstfQ_t;
   39 
   40 typedef struct RF_Sstf_s {
   41         RF_SstfQ_t left;
   42         RF_SstfQ_t right;
   43         RF_SstfQ_t lopri;
   44         RF_SectorNum_t last_sector;
   45         int     dir;
   46         int     allow_reverse;
   47 }       RF_Sstf_t;
   48 
   49 void   *
   50 rf_SstfCreate(RF_SectorCount_t sect_per_disk,
   51     RF_AllocListElem_t * cl_list, RF_ShutdownList_t ** listp);
   52 void   *
   53 rf_ScanCreate(RF_SectorCount_t sect_per_disk,
   54     RF_AllocListElem_t * cl_list, RF_ShutdownList_t ** listp);
   55 void   *
   56 rf_CscanCreate(RF_SectorCount_t sect_per_disk,
   57     RF_AllocListElem_t * cl_list, RF_ShutdownList_t ** listp);
   58 void    rf_SstfEnqueue(void *qptr, RF_DiskQueueData_t * req, int priority);
   59 RF_DiskQueueData_t *rf_SstfDequeue(void *qptr);
   60 RF_DiskQueueData_t *rf_SstfPeek(void *qptr);
   61 int 
   62 rf_SstfPromote(void *qptr, RF_StripeNum_t parityStripeID,
   63     RF_ReconUnitNum_t which_ru);
   64 RF_DiskQueueData_t *rf_ScanDequeue(void *qptr);
   65 RF_DiskQueueData_t *rf_ScanPeek(void *qptr);
   66 RF_DiskQueueData_t *rf_CscanDequeue(void *qptr);
   67 RF_DiskQueueData_t *rf_CscanPeek(void *qptr);
   68 
   69 #endif                          /* !_RF__RF_SSTF_H_ */

Cache object: bfd04611c2060dc635bf8c9ca592237f


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.