]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Thu, 3 Nov 2011 06:29:35 +0000 (07:29 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Thu, 3 Nov 2011 06:29:35 +0000 (07:29 +0100)
ChangeLog
grub-core/fs/zfs/zfs.c

index 047c156c7683f858161b47fb61a8d7e8d0fbaf60..f6f5eaeebb1863182786ad0da3cc35fba1baa99d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2011-11-03  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
+
 2011-11-02  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
index 1bfbed72c942dfd499acf63cf082b58e27924b94..ef352a77091fdee84d83964d2322f2877491ffce 100644 (file)
@@ -904,7 +904,7 @@ read_device (grub_uint64_t offset, struct grub_zfs_device_desc *desc,
        void *recovery_buf = NULL;
        grub_size_t recovery_len = 0;
 
-       if (desc->nparity < 1 || desc->nparity > 2)
+       if (desc->nparity < 1 || desc->nparity > 3)
          return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET, 
                             "raidz%d is not supported", desc->nparity);
 
@@ -914,9 +914,10 @@ read_device (grub_uint64_t offset, struct grub_zfs_device_desc *desc,
 
        high = grub_divmod64 ((offset >> desc->ashift),
                              desc->n_children, &m);
-
        if (desc->nparity == 2)
          c = 2;
+       if (desc->nparity == 3)
+         c = 3;
        while (len > 0)
          {
            grub_size_t csize;