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