rf_dagdegrd.h revision 1.8
11.8Soster/* $NetBSD: rf_dagdegrd.h,v 1.8 2006/04/26 17:08:48 oster 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.6Sperryvoid 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.6Sperryvoid 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.6Sperryvoid 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.6Sperryvoid 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.6Sperryvoid 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.6Sperryvoid 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.8Soster RF_AllocListElem_t * allocList, const char *redundantReadNodeName, 611.8Soster const char *recoveryNodeName, int (*recovFunc) (RF_DagNode_t *)); 621.1Soster 631.3Soster#endif /* !_RF__RF_DAGDEGRD_H_ */ 64