rf_dagdegrd.h revision 1.5
11.5Sjdolecek/* $NetBSD: rf_dagdegrd.h,v 1.5 2003/02/09 10:04:33 jdolecek Exp $ */ 21.1Soster/* 31.1Soster * Copyright (c) 1995 Carnegie-Mellon University. 41.1Soster * All rights reserved. 51.1Soster * 61.1Soster * Author: Mark Holland, Daniel Stodolsky, William V. Courtright II 71.1Soster * 81.1Soster * Permission to use, copy, modify and distribute this software and 91.1Soster * its documentation is hereby granted, provided that both the copyright 101.1Soster * notice and this permission notice appear in all copies of the 111.1Soster * software, derivative works or modified versions, and any portions 121.1Soster * thereof, and that both notices appear in supporting documentation. 131.1Soster * 141.1Soster * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 151.1Soster * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND 161.1Soster * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 171.1Soster * 181.1Soster * Carnegie Mellon requests users of this software to return to 191.1Soster * 201.1Soster * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 211.1Soster * School of Computer Science 221.1Soster * Carnegie Mellon University 231.1Soster * Pittsburgh PA 15213-3890 241.1Soster * 251.1Soster * any improvements or extensions that they make and grant Carnegie the 261.1Soster * rights to redistribute these changes. 271.1Soster */ 281.1Soster 291.1Soster#ifndef _RF__RF_DAGDEGRD_H_ 301.1Soster#define _RF__RF_DAGDEGRD_H_ 311.1Soster 321.4Soster#include <dev/raidframe/raidframevar.h> 331.1Soster 341.1Soster/* degraded read DAG creation routines */ 351.3Sostervoid 361.3Sosterrf_CreateRaidFiveDegradedReadDAG(RF_Raid_t * raidPtr, 371.3Soster RF_AccessStripeMap_t * asmap, RF_DagHeader_t * dag_h, void *bp, 381.3Soster RF_RaidAccessFlags_t flags, RF_AllocListElem_t * allocList); 391.3Sostervoid 401.3Sosterrf_CreateRaidOneDegradedReadDAG(RF_Raid_t * raidPtr, 411.3Soster RF_AccessStripeMap_t * asmap, RF_DagHeader_t * dag_h, void *bp, 421.3Soster RF_RaidAccessFlags_t flags, RF_AllocListElem_t * allocList); 431.3Sostervoid 441.3Sosterrf_CreateDegradedReadDAG(RF_Raid_t * raidPtr, 451.3Soster RF_AccessStripeMap_t * asmap, RF_DagHeader_t * dag_h, void *bp, 461.3Soster RF_RaidAccessFlags_t flags, RF_AllocListElem_t * allocList, 471.5Sjdolecek const RF_RedFuncs_t * recFunc); 481.3Sostervoid 491.3Sosterrf_CreateRaidCDegradedReadDAG(RF_Raid_t * raidPtr, 501.3Soster RF_AccessStripeMap_t * asmap, RF_DagHeader_t * dag_h, void *bp, 511.3Soster RF_RaidAccessFlags_t flags, RF_AllocListElem_t * allocList); 521.3Sostervoid 531.3Sosterrf_DD_GenerateFailedAccessASMs(RF_Raid_t * raidPtr, 541.3Soster RF_AccessStripeMap_t * asmap, RF_PhysDiskAddr_t ** pdap, 551.3Soster int *nNodep, RF_PhysDiskAddr_t ** pqpdap, int *nPQNodep, 561.3Soster RF_AllocListElem_t * allocList); 571.3Sostervoid 581.3Sosterrf_DoubleDegRead(RF_Raid_t * raidPtr, RF_AccessStripeMap_t * asmap, 591.3Soster RF_DagHeader_t * dag_h, void *bp, RF_RaidAccessFlags_t flags, 601.3Soster RF_AllocListElem_t * allocList, char *redundantReadNodeName, 611.3Soster char *recoveryNodeName, int (*recovFunc) (RF_DagNode_t *)); 621.1Soster 631.3Soster#endif /* !_RF__RF_DAGDEGRD_H_ */ 64