summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Brassow <jbrassow@f14.redhat.com>2011-06-08 15:10:08 +1000
committerNeilBrown <neilb@suse.de>2011-06-08 15:10:08 +1000
commit629acb6abac0ef217ee579e14084af2ce7381dbc (patch)
tree75963147cec3ff2e16aa775d103cb41706e503b0
parent59c5f46fbe01a00eedf54a23789634438bb80603 (diff)
downloadlwn-629acb6abac0ef217ee579e14084af2ce7381dbc.tar.gz
lwn-629acb6abac0ef217ee579e14084af2ce7381dbc.zip
MD: no integrity register if no gendisk
Don't attempt md_integrity_register if there is no gendisk struct available. When MD arrays are built via device-mapper, the gendisk structure is not available via mddev. Signed-off-by: Jonathan Brassow <jbrassow@redhat.com> Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r--drivers/md/md.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index aa640a85bb21..4ea02c634d33 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -1781,8 +1781,8 @@ int md_integrity_register(mddev_t *mddev)
if (list_empty(&mddev->disks))
return 0; /* nothing to do */
- if (blk_get_integrity(mddev->gendisk))
- return 0; /* already registered */
+ if (!mddev->gendisk || blk_get_integrity(mddev->gendisk))
+ return 0; /* shouldn't register, or already is */
list_for_each_entry(rdev, &mddev->disks, same_set) {
/* skip spares and non-functional disks */
if (test_bit(Faulty, &rdev->flags))