]> sourceware.org Git - lvm2.git/commitdiff
Fix md signature check to handle both endiannesses.
authorAlasdair Kergon <agk@redhat.com>
Fri, 26 Jan 2007 17:15:16 +0000 (17:15 +0000)
committerAlasdair Kergon <agk@redhat.com>
Fri, 26 Jan 2007 17:15:16 +0000 (17:15 +0000)
WHATS_NEW
lib/device/dev-md.c

index a791e039070561cdd834bb1826c0b74d9a43dbf1..1d9356a79d8a4bc81fa6400e9130636d44d80619 100644 (file)
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
 Version 2.02.21 -
 ===================================
+  Fix md signature check to handle both endiannesses.
 
 Version 2.02.20 - 25th January 2007
 ===================================
index 8b05a8cd1a4751d3503f8455d76c81bb45e65236..a3cf33ec2753346455fed4aff94cfd5c5ba42c66 100644 (file)
@@ -53,8 +53,10 @@ int dev_is_md(struct device *dev, uint64_t *sb)
        sb_offset = MD_NEW_SIZE_SECTORS(size) << SECTOR_SHIFT;
 
        /* Check if it is an md component device. */
+       /* Version 1 is little endian; version 0.90.0 is machine endian */
        if (dev_read(dev, sb_offset, sizeof(uint32_t), &md_magic) &&
-           (md_magic == xlate32(MD_SB_MAGIC))) {
+           ((md_magic == xlate32(MD_SB_MAGIC)) ||
+            (md_magic == MD_SB_MAGIC))) {
                if (sb)
                        *sb = sb_offset;
                ret = 1;
This page took 0.047211 seconds and 5 git commands to generate.