Bug#837964: mdadm --add fails, can not add spares (regression) -- bisect results

Anthony DeRobertis anthony at derobert.net
Mon Sep 19 15:41:12 UTC 2016


Package: mdadm
Version: 3.4-4
Followup-For: Bug #837964

I have done a few bisects of git://git.neil.brown.name/mdadm.git:

Appears to have been broken by:

commit 95a05b37e8eb2bc0803b1a0298fce6adc60eff16
Author: Guoqing Jiang <gqjiang at suse.com>
Date:   Wed Jun 10 13:42:04 2015 +0800

    Create n bitmaps for clustered mode
    
    For a clustered MD, create bitmaps equal to number of nodes so
    each node has an independent bitmap.
    
    Only the first bitmap is has the bits set so that the first node
    that assembles the device also performs the sync.
    
    The bitmaps are aligned to 4k boundaries.
    
    On-disk format:
    
    0                    4k                     8k                    12k
    -------------------------------------------------------------------
    | idle                | md super            | bm super [0] + bits |
    | bm bits[0, contd]   | bm super[1] + bits  | bm bits[1, contd]   |
    | bm super[2] + bits  | bm bits [2, contd]  | bm super[3] + bits  |
    | bm bits [3, contd]  |                     |                     |
    
    Signed-off-by: Goldwyn Rodrigues <rgoldwyn at suse.com>
    Signed-off-by: Guoqing Jiang <gqjiang at suse.com>
    Signed-off-by: NeilBrown <neilb at suse.de>

(Note that to complete that bisect, you'll need to cherry-pick
d8f82d1d88f83a706478e2d1af3736032a018421 to get it to compile).

It also appears to be sort of fixed, as in it works but spews errors, by
the (not yet releaed):

commit 81306e021ebdcc4baef866da82d25c3f0a415d2d
Author: Guoqing Jiang <gqjiang at suse.com>
Date:   Thu Mar 24 18:00:35 2016 +0800

    Change the option from NoUpdate to NodeNumUpdate
    
    Actually, we need to use NodeNumUpdate here to
    ensure there are enough spaces for those nodes.
    
    Signed-off-by: Guoqing Jiang <gqjiang at suse.com>
    Signed-off-by: Jes Sorensen <Jes.Sorensen at redhat.com>

With that commit, it works but spews errors:

# ./mdadm -a /dev/md/pv0 /dev/sdc3 
mdadm: Warning: cluster md only works with superblock 1.2
mdadm: Failed to write metadata to /dev/sdc3

... but actually gets added to the array. No idea if it would continue
to work (e.g., if it were made an active device, or if it'd assemble
again).

I have no idea why it's talking about "cluster md", as I've never used
that feature.



More information about the pkg-mdadm-devel mailing list