rf_dagdegrd.h revision 1.1
11.1Soster/* $NetBSD: rf_dagdegrd.h,v 1.1 1998/11/13 04:20:27 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/* 301.1Soster * : 311.1Soster * Log: rf_dagdegrd.h,v 321.1Soster * Revision 1.6 1996/07/31 16:29:06 jimz 331.1Soster * asm/asmap re-fix (EO merge) 341.1Soster * 351.1Soster * Revision 1.5 1996/07/31 15:34:40 jimz 361.1Soster * evenodd changes; bugfixes for double-degraded archs, generalize 371.1Soster * some formerly PQ-only functions 381.1Soster * 391.1Soster * Revision 1.4 1996/07/22 19:52:16 jimz 401.1Soster * switched node params to RF_DagParam_t, a union of 411.1Soster * a 64-bit int and a void *, for better portability 421.1Soster * attempted hpux port, but failed partway through for 431.1Soster * lack of a single C compiler capable of compiling all 441.1Soster * source files 451.1Soster * 461.1Soster * Revision 1.3 1996/05/24 22:17:04 jimz 471.1Soster * continue code + namespace cleanup 481.1Soster * typed a bunch of flags 491.1Soster * 501.1Soster * Revision 1.2 1996/05/23 21:46:35 jimz 511.1Soster * checkpoint in code cleanup (release prep) 521.1Soster * lots of types, function names have been fixed 531.1Soster * 541.1Soster * Revision 1.1 1996/05/03 19:22:06 wvcii 551.1Soster * Initial revision 561.1Soster * 571.1Soster */ 581.1Soster 591.1Soster#ifndef _RF__RF_DAGDEGRD_H_ 601.1Soster#define _RF__RF_DAGDEGRD_H_ 611.1Soster 621.1Soster#include "rf_types.h" 631.1Soster 641.1Soster/* degraded read DAG creation routines */ 651.1Sostervoid rf_CreateRaidFiveDegradedReadDAG(RF_Raid_t *raidPtr, 661.1Soster RF_AccessStripeMap_t *asmap, RF_DagHeader_t *dag_h, void *bp, 671.1Soster RF_RaidAccessFlags_t flags, RF_AllocListElem_t *allocList); 681.1Sostervoid rf_CreateRaidOneDegradedReadDAG(RF_Raid_t *raidPtr, 691.1Soster RF_AccessStripeMap_t *asmap, RF_DagHeader_t *dag_h, void *bp, 701.1Soster RF_RaidAccessFlags_t flags, RF_AllocListElem_t *allocList); 711.1Sostervoid rf_CreateDegradedReadDAG(RF_Raid_t *raidPtr, 721.1Soster RF_AccessStripeMap_t *asmap, RF_DagHeader_t *dag_h, void *bp, 731.1Soster RF_RaidAccessFlags_t flags, RF_AllocListElem_t *allocList, 741.1Soster RF_RedFuncs_t *recFunc); 751.1Sostervoid rf_CreateRaidCDegradedReadDAG(RF_Raid_t *raidPtr, 761.1Soster RF_AccessStripeMap_t *asmap, RF_DagHeader_t *dag_h, void *bp, 771.1Soster RF_RaidAccessFlags_t flags, RF_AllocListElem_t *allocList); 781.1Sostervoid rf_DD_GenerateFailedAccessASMs(RF_Raid_t *raidPtr, 791.1Soster RF_AccessStripeMap_t *asmap, RF_PhysDiskAddr_t **pdap, 801.1Soster int *nNodep, RF_PhysDiskAddr_t **pqpdap, int *nPQNodep, 811.1Soster RF_AllocListElem_t *allocList); 821.1Sostervoid rf_DoubleDegRead(RF_Raid_t *raidPtr, RF_AccessStripeMap_t *asmap, 831.1Soster RF_DagHeader_t *dag_h, void *bp, RF_RaidAccessFlags_t flags, 841.1Soster RF_AllocListElem_t *allocList, char *redundantReadNodeName, 851.1Soster char *recoveryNodeName, int (*recovFunc)(RF_DagNode_t *)); 861.1Soster 871.1Soster#endif /* !_RF__RF_DAGDEGRD_H_ */ 88