summaryrefslogtreecommitdiff
path: root/util.c
diff options
context:
space:
mode:
authorLabun, Marcin <Marcin.Labun@intel.com>2011-03-23 12:04:46 +1100
committerNeilBrown <neilb@suse.de>2011-03-23 12:04:46 +1100
commitdf3346e675d731b4c847272fc40bb992ace7554e (patch)
treee94e40b2a5ca5323f1bdca7cd877ecb4567d4335 /util.c
parent246cebdb7601fc41ee0cca9a5379cdd7dc072380 (diff)
examine: allows to examine a disk metadata on non-metadata compliant systems
Allow for loading metadata from disk attached to non-metadata compliant system. Affects mdadm --examine and guess_super. Added ignore_hw_compat in supertype to pass information to load_super handler. If ignore_hw_compat is set the handler should load metadata also from disks that do not comply with metadata requirements (i.e. disk is not attached to native controller, etc). Signed-off-by: Marcin Labun <marcin.labun@intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'util.c')
-rw-r--r--util.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/util.c b/util.c
index 8e1b7371..ef4406a1 100644
--- a/util.c
+++ b/util.c
@@ -1196,6 +1196,7 @@ struct supertype *guess_super_type(int fd, enum guess_types guess_type)
if (guess_type == guess_partitions && ss->add_to_super != NULL)
continue;
memset(st, 0, sizeof(*st));
+ st->ignore_hw_compat = 1;
rv = ss->load_super(st, fd, NULL);
if (rv == 0) {
struct mdinfo info;
@@ -1211,9 +1212,11 @@ struct supertype *guess_super_type(int fd, enum guess_types guess_type)
if (bestsuper != -1) {
int rv;
memset(st, 0, sizeof(*st));
+ st->ignore_hw_compat = 1;
rv = superlist[bestsuper]->load_super(st, fd, NULL);
if (rv == 0) {
superlist[bestsuper]->free_super(st);
+ st->ignore_hw_compat = 0;
return st;
}
}