md: Skip cluster setup for dm-raid
authorGoldwyn Rodrigues <rgoldwyn@suse.com>
Wed, 22 Jul 2015 17:09:17 +0000 (12:09 -0500)
committerNeilBrown <neilb@suse.com>
Wed, 22 Jul 2015 23:22:00 +0000 (09:22 +1000)
commitd3b178adb3a3adf54ecf77758138b654c3ee7f09
tree018d2ba212c10f10a6e3bbfcd3d2197918805017
parentee5d004fd0591536a061451eba2b187092e9127c
md: Skip cluster setup for dm-raid

There is a bug that the bitmap superblock isn't initialised properly for
dm-raid, so a new field can have garbage in new fields.
(dm-raid does initialisation in the kernel - md initialised the
 superblock in mdadm).

This means that for dm-raid we cannot currently trust the new ->nodes
field. So:
 - use __GFP_ZERO to initialise the superblock properly for all new
    arrays
 - initialise all fields in bitmap_info in bitmap_new_disk_sb
 - ignore ->nodes for dm arrays (yes, this is a hack)

This bug exposes dm-raid to bug in the (still experimental) md-cluster
code, so it is suitable for -stable.  It does cause crashes.

References: https://bugzilla.kernel.org/show_bug.cgi?id=100491
Cc: stable@vger.kernel.org (v4.1)
Signed-off-By: Goldwyn Rodrigues <rgoldwyn@suse.com>
Signed-off-by: NeilBrown <neilb@suse.com>
drivers/md/bitmap.c