ore: Enable RAID5 mounts
[pandora-kernel.git] / fs / exofs / ore.c
index 08ee454..fcfa86a 100644 (file)
@@ -49,9 +49,17 @@ int ore_verify_layout(unsigned total_comps, struct ore_layout *layout)
 {
        u64 stripe_length;
 
-/* FIXME: Only raid0 is supported for now. */
-       if (layout->raid_algorithm != PNFS_OSD_RAID_0) {
-               ORE_ERR("Only RAID_0 for now\n");
+       switch (layout->raid_algorithm) {
+       case PNFS_OSD_RAID_0:
+               layout->parity = 0;
+               break;
+       case PNFS_OSD_RAID_5:
+               layout->parity = 1;
+               break;
+       case PNFS_OSD_RAID_PQ:
+       case PNFS_OSD_RAID_4:
+       default:
+               ORE_ERR("Only RAID_0/5 for now\n");
                return -EINVAL;
        }
        if (0 != (layout->stripe_unit & ~PAGE_MASK)) {