rf_dagffrd.h revision 1.1
11.1Soster/*	$NetBSD: rf_dagffrd.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_dagffrd.h,v
321.1Soster * Revision 1.5  1996/07/22 19:52:16  jimz
331.1Soster * switched node params to RF_DagParam_t, a union of
341.1Soster * a 64-bit int and a void *, for better portability
351.1Soster * attempted hpux port, but failed partway through for
361.1Soster * lack of a single C compiler capable of compiling all
371.1Soster * source files
381.1Soster *
391.1Soster * Revision 1.4  1996/06/06  17:31:13  jimz
401.1Soster * new mirror read creation dags
411.1Soster *
421.1Soster * Revision 1.3  1996/05/24  22:17:04  jimz
431.1Soster * continue code + namespace cleanup
441.1Soster * typed a bunch of flags
451.1Soster *
461.1Soster * Revision 1.2  1996/05/23  21:46:35  jimz
471.1Soster * checkpoint in code cleanup (release prep)
481.1Soster * lots of types, function names have been fixed
491.1Soster *
501.1Soster * Revision 1.1  1996/05/03  19:19:53  wvcii
511.1Soster * Initial revision
521.1Soster *
531.1Soster */
541.1Soster
551.1Soster#ifndef _RF__RF_DAGFFRD_H_
561.1Soster#define _RF__RF_DAGFFRD_H_
571.1Soster
581.1Soster#include "rf_types.h"
591.1Soster
601.1Soster/* fault-free read DAG creation routines */
611.1Sostervoid rf_CreateFaultFreeReadDAG(RF_Raid_t *raidPtr, RF_AccessStripeMap_t *asmap,
621.1Soster  RF_DagHeader_t *dag_h, void *bp, RF_RaidAccessFlags_t flags,
631.1Soster  RF_AllocListElem_t *allocList);
641.1Sostervoid rf_CreateNonredundantDAG(RF_Raid_t *raidPtr, RF_AccessStripeMap_t *asmap,
651.1Soster  RF_DagHeader_t *dag_h, void *bp, RF_RaidAccessFlags_t flags,
661.1Soster  RF_AllocListElem_t *allocList, RF_IoType_t type);
671.1Sostervoid rf_CreateMirrorIdleReadDAG(RF_Raid_t *raidPtr,
681.1Soster  RF_AccessStripeMap_t *asmap, RF_DagHeader_t *dag_h, void *bp,
691.1Soster  RF_RaidAccessFlags_t flags, RF_AllocListElem_t *allocList);
701.1Sostervoid rf_CreateMirrorPartitionReadDAG(RF_Raid_t *raidPtr,
711.1Soster  RF_AccessStripeMap_t *asmap, RF_DagHeader_t *dag_h, void *bp,
721.1Soster  RF_RaidAccessFlags_t flags, RF_AllocListElem_t *allocList);
731.1Soster
741.1Soster#endif /* !_RF__RF_DAGFFRD_H_ */
75