1 /*
2  * Copyright (C) 2008, 2009
3  * Boaz Harrosh <bharrosh@panasas.com>
4  *
5  * This file is part of exofs.
6  *
7  * exofs is free software; you can redistribute it and/or modify it under the
8  * terms of the GNU General Public License  version 2 as published by the Free
9  * Software Foundation.
10  *
11  */
12 
13 /* FIXME: Remove this file once pnfs hits mainline */
14 
15 #ifndef __EXOFS_PNFS_H__
16 #define __EXOFS_PNFS_H__
17 
18 #if ! defined(__PNFS_OSD_XDR_H__)
19 
20 enum pnfs_iomode {
21 	IOMODE_READ = 1,
22 	IOMODE_RW = 2,
23 	IOMODE_ANY = 3,
24 };
25 
26 /* Layout Structure */
27 enum pnfs_osd_raid_algorithm4 {
28 	PNFS_OSD_RAID_0		= 1,
29 	PNFS_OSD_RAID_4		= 2,
30 	PNFS_OSD_RAID_5		= 3,
31 	PNFS_OSD_RAID_PQ	= 4     /* Reed-Solomon P+Q */
32 };
33 
34 struct pnfs_osd_data_map {
35 	u32	odm_num_comps;
36 	u64	odm_stripe_unit;
37 	u32	odm_group_width;
38 	u32	odm_group_depth;
39 	u32	odm_mirror_cnt;
40 	u32	odm_raid_algorithm;
41 };
42 
43 #endif /* ! defined(__PNFS_OSD_XDR_H__) */
44 
45 #endif /* __EXOFS_PNFS_H__ */
46