st = guess_super(fd);
if (st) {
err = 1;
+ st->ignore_hw_compat = 1;
if (!container)
err = st->ss->load_super(st, fd,
(brief||scan) ? NULL
if (!err)
have_container = 1;
}
+ st->ignore_hw_compat = 0;
} else {
if (!brief) {
fprintf(stderr, Name ": No md superblock detected on %s.\n", devlist->devname);
int container_dev; /* devnum of container */
void *sb;
void *info;
-
+ int ignore_hw_compat; /* used to inform metadata handlers that it should ignore
+ HW/firmware related incompatability to load metadata.
+ Used when examining metadata to display content of disk
+ when user has no hw/firmare compatible system.
+ */
struct metadata_update *updates;
struct metadata_update **update_tail;
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;
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;
}
}