root/dev/raidframe/rf_parityscan.h

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

INCLUDED FROM


    1 /*      $OpenBSD: rf_parityscan.h,v 1.3 2002/12/16 07:01:04 tdeval Exp $        */
    2 /*      $NetBSD: rf_parityscan.h,v 1.3 1999/02/05 00:06:14 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 #ifndef _RF__RF_PARITYSCAN_H_
   32 #define _RF__RF_PARITYSCAN_H_
   33 
   34 #include "rf_types.h"
   35 #include "rf_alloclist.h"
   36 
   37 int rf_RewriteParity(RF_Raid_t *);
   38 int rf_VerifyParityBasic(RF_Raid_t *, RF_RaidAddr_t, RF_PhysDiskAddr_t *, int,
   39         RF_RaidAccessFlags_t);
   40 int rf_VerifyParity(RF_Raid_t *, RF_AccessStripeMap_t *, int,
   41         RF_RaidAccessFlags_t);
   42 int rf_TryToRedirectPDA(RF_Raid_t *, RF_PhysDiskAddr_t *, int);
   43 int rf_VerifyDegrModeWrite(RF_Raid_t *, RF_AccessStripeMapHeader_t *);
   44 RF_DagHeader_t *rf_MakeSimpleDAG(RF_Raid_t *, int, int, char *,
   45         int (*) (RF_DagNode_t *), int (*) (RF_DagNode_t *), char *,
   46         RF_AllocListElem_t *, RF_RaidAccessFlags_t, int);
   47 
   48 #define RF_DO_CORRECT_PARITY            1
   49 #define RF_DONT_CORRECT_PARITY          0
   50 
   51 /*
   52  * Return vals for VerifyParity operation.
   53  *
   54  * Ordering is important here.
   55  */
   56 #define RF_PARITY_OKAY                  0       /* Or no parity information. */
   57 #define RF_PARITY_CORRECTED             1
   58 #define RF_PARITY_BAD                   2
   59 #define RF_PARITY_COULD_NOT_CORRECT     3
   60 #define RF_PARITY_COULD_NOT_VERIFY      4
   61 
   62 #endif  /* !_RF__RF_PARITYSCAN_H_ */

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