[BACK]Return to rf_map.h CVS log [TXT][DIR] Up to [local] / sys / dev / raidframe

Annotation of sys/dev/raidframe/rf_map.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: rf_map.h,v 1.3 2002/12/16 07:01:04 tdeval Exp $       */
                      2: /*     $NetBSD: rf_map.h,v 1.3 1999/02/05 00:06:12 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: /* rf_map.h */
                     32:
                     33: #ifndef        _RF__RF_MAP_H_
                     34: #define        _RF__RF_MAP_H_
                     35:
                     36: #include "rf_types.h"
                     37: #include "rf_alloclist.h"
                     38: #include "rf_raid.h"
                     39:
                     40: /* Mapping structure allocation and free routines. */
                     41: RF_AccessStripeMapHeader_t *rf_MapAccess(RF_Raid_t *, RF_RaidAddr_t,
                     42:        RF_SectorCount_t, caddr_t, int);
                     43:
                     44: void rf_MarkFailuresInASMList(RF_Raid_t *, RF_AccessStripeMapHeader_t *);
                     45:
                     46: RF_AccessStripeMap_t *rf_DuplicateASM(RF_AccessStripeMap_t *);
                     47:
                     48: RF_PhysDiskAddr_t *rf_DuplicatePDA(RF_PhysDiskAddr_t *);
                     49:
                     50: int  rf_ConfigureMapModule(RF_ShutdownList_t **);
                     51:
                     52: RF_AccessStripeMapHeader_t *rf_AllocAccessStripeMapHeader(void);
                     53:
                     54: void rf_FreeAccessStripeMapHeader(RF_AccessStripeMapHeader_t *);
                     55:
                     56: RF_PhysDiskAddr_t *rf_AllocPhysDiskAddr(void);
                     57:
                     58: RF_PhysDiskAddr_t *rf_AllocPDAList(int);
                     59:
                     60: void rf_FreePhysDiskAddr(RF_PhysDiskAddr_t *);
                     61:
                     62: RF_AccessStripeMap_t *rf_AllocAccessStripeMapComponent(void);
                     63:
                     64: RF_AccessStripeMap_t *rf_AllocASMList(int);
                     65:
                     66: void rf_FreeAccessStripeMapComponent(RF_AccessStripeMap_t *);
                     67:
                     68: void rf_FreeAccessStripeMap(RF_AccessStripeMapHeader_t *);
                     69:
                     70: int  rf_CheckStripeForFailures(RF_Raid_t *, RF_AccessStripeMap_t *);
                     71:
                     72: int  rf_NumFailedDataUnitsInStripe(RF_Raid_t *, RF_AccessStripeMap_t *);
                     73:
                     74: void rf_PrintAccessStripeMap(RF_AccessStripeMapHeader_t *);
                     75:
                     76: void rf_PrintFullAccessStripeMap(RF_AccessStripeMapHeader_t *, int);
                     77:
                     78: void rf_PrintRaidAddressInfo(RF_Raid_t *, RF_RaidAddr_t, RF_SectorCount_t);
                     79:
                     80: void rf_ASMParityAdjust(RF_PhysDiskAddr_t *, RF_StripeNum_t, RF_SectorNum_t,
                     81:        RF_RaidLayout_t *, RF_AccessStripeMap_t *);
                     82:
                     83: void rf_ASMCheckStatus(RF_Raid_t *, RF_PhysDiskAddr_t *,
                     84:        RF_AccessStripeMap_t *, RF_RaidDisk_t **, int);
                     85:
                     86: #endif /* !_RF__RF_MAP_H_ */

CVSweb