pnfs.h 925 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. /* FIXME: Remove this file once pnfs hits mainline */
  13. #ifndef __EXOFS_PNFS_H__
  14. #define __EXOFS_PNFS_H__
  15. #if ! defined(__PNFS_OSD_XDR_H__)
  16. enum pnfs_iomode {
  17. IOMODE_READ = 1,
  18. IOMODE_RW = 2,
  19. IOMODE_ANY = 3,
  20. };
  21. /* Layout Structure */
  22. enum pnfs_osd_raid_algorithm4 {
  23. PNFS_OSD_RAID_0 = 1,
  24. PNFS_OSD_RAID_4 = 2,
  25. PNFS_OSD_RAID_5 = 3,
  26. PNFS_OSD_RAID_PQ = 4 /* Reed-Solomon P+Q */
  27. };
  28. struct pnfs_osd_data_map {
  29. u32 odm_num_comps;
  30. u64 odm_stripe_unit;
  31. u32 odm_group_width;
  32. u32 odm_group_depth;
  33. u32 odm_mirror_cnt;
  34. u32 odm_raid_algorithm;
  35. };
  36. #endif /* ! defined(__PNFS_OSD_XDR_H__) */
  37. #endif /* __EXOFS_PNFS_H__ */