diff options
author | NeilBrown <neilb@suse.de> | 2010-04-29 16:09:59 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2010-04-29 16:09:59 +1000 |
commit | 691c6ee1b6bb77bc44a5474d856771b0aec9882d (patch) | |
tree | 64b9b56a0662289302e13307ad6dc1d1289941b2 /super-ddf.c | |
parent | 4eb269706f403d2424166683688f0a41d893c1c3 (diff) |
IMSM/DDF: don't recognised these metadata on partitions.
These metadata are not expected on partitions, and they have
no way of differentiation whether which is correct if they
are found both on the device and on the last partition.
So if the device is a partition, refuse to read the metadata.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'super-ddf.c')
-rw-r--r-- | super-ddf.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/super-ddf.c b/super-ddf.c index 3feea577..0e6f1e53 100644 --- a/super-ddf.c +++ b/super-ddf.c @@ -783,6 +783,10 @@ static int load_super_ddf(struct supertype *st, int fd, if (get_dev_size(fd, devname, &dsize) == 0) return 1; + if (test_partition(fd)) + /* DDF is not allowed on partitions */ + return 1; + /* 32M is a lower bound */ if (dsize <= 32*1024*1024) { if (devname) |