Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/linville...
[platform/adaptation/renesas_rcar/renesas_kernel.git] / fs / exofs / pnfs.h
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__ */