root/dev/raidframe/rf_dagflags.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


    1 /*      $OpenBSD: rf_dagflags.h,v 1.3 2002/12/16 07:01:03 tdeval Exp $  */
    2 /*      $NetBSD: rf_dagflags.h,v 1.3 1999/02/05 00:06:08 oster Exp $    */
    3 
    4 /*
    5  * Copyright (c) 1995 Carnegie-Mellon University.
    6  * All rights reserved.
    7  *
    8  * Author: Mark Holland
    9  *
   10  * Permission to use, copy, modify and distribute this software and
   11  * its documentation is hereby granted, provided that both the copyright
   12  * notice and this permission notice appear in all copies of the
   13  * software, derivative works or modified versions, and any portions
   14  * thereof, and that both notices appear in supporting documentation.
   15  *
   16  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
   17  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
   18  * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
   19  *
   20  * Carnegie Mellon requests users of this software to return to
   21  *
   22  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
   23  *  School of Computer Science
   24  *  Carnegie Mellon University
   25  *  Pittsburgh PA 15213-3890
   26  *
   27  * any improvements or extensions that they make and grant Carnegie the
   28  * rights to redistribute these changes.
   29  */
   30 
   31 /*****************************************************************************
   32  *
   33  * dagflags.h -- Flags that can be given to DoAccess.
   34  * I pulled these out of dag.h because routines that call DoAccess may need
   35  * these flags, but certainly do not need the declarations related to the DAG
   36  * data structures.
   37  *
   38  *****************************************************************************/
   39 
   40 
   41 #ifndef _RF__RF_DAGFLAGS_H_
   42 #define _RF__RF_DAGFLAGS_H_
   43 
   44 /*
   45  * Bitmasks for the "flags" parameter (RF_RaidAccessFlags_t) used
   46  * by DoAccess, SelectAlgorithm, and the DAG creation routines.
   47  *
   48  * If USE_DAG or USE_ASM is specified, neither the DAG nor the ASM
   49  * will be modified, which means that you can't SUPRESS if you
   50  * specify USE_DAG.
   51  */
   52 
   53 #define RF_DAG_FLAGS_NONE                   0   /* No flags */
   54 #define RF_DAG_SUPPRESS_LOCKS           (1<<0)  /*
   55                                                  * Supress all stripe locks in
   56                                                  * the DAG.
   57                                                  */
   58 #define RF_DAG_RETURN_ASM               (1<<1)  /*
   59                                                  * Create an ASM and return it
   60                                                  * instead of freeing it.
   61                                                  */
   62 #define RF_DAG_RETURN_DAG               (1<<2)  /*
   63                                                  * Create a DAG and return it
   64                                                  * instead of freeing it.
   65                                                  */
   66 #define RF_DAG_NONBLOCKING_IO           (1<<3)  /*
   67                                                  * Cause DoAccess to be
   68                                                  * non-blocking.
   69                                                  */
   70 #define RF_DAG_ACCESS_COMPLETE          (1<<4)  /*
   71                                                  * The access is complete.
   72                                                  */
   73 #define RF_DAG_DISPATCH_RETURNED        (1<<5)  /*
   74                                                  * Used to handle the case
   75                                                  * where the dag invokes no
   76                                                  * I/O.
   77                                                  */
   78 #define RF_DAG_TEST_ACCESS              (1<<6)  /*
   79                                                  * This access came through
   80                                                  * rf_ioctl instead of
   81                                                  * rf_strategy.
   82                                                  */
   83 
   84 #endif  /* !_RF__RF_DAGFLAGS_H_ */

/* [<][>][^][v][top][bottom][index][help] */