diff options
Diffstat (limited to 'block/partitions/efi.c')
-rw-r--r-- | block/partitions/efi.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/block/partitions/efi.c b/block/partitions/efi.c index 1eb09ee5311b..a8287b49d062 100644 --- a/block/partitions/efi.c +++ b/block/partitions/efi.c | |||
@@ -222,11 +222,16 @@ check_hybrid: | |||
222 | * the disk size. | 222 | * the disk size. |
223 | * | 223 | * |
224 | * Hybrid MBRs do not necessarily comply with this. | 224 | * Hybrid MBRs do not necessarily comply with this. |
225 | * | ||
226 | * Consider a bad value here to be a warning to support dd'ing | ||
227 | * an image from a smaller disk to a larger disk. | ||
225 | */ | 228 | */ |
226 | if (ret == GPT_MBR_PROTECTIVE) { | 229 | if (ret == GPT_MBR_PROTECTIVE) { |
227 | sz = le32_to_cpu(mbr->partition_record[part].size_in_lba); | 230 | sz = le32_to_cpu(mbr->partition_record[part].size_in_lba); |
228 | if (sz != (uint32_t) total_sectors - 1 && sz != 0xFFFFFFFF) | 231 | if (sz != (uint32_t) total_sectors - 1 && sz != 0xFFFFFFFF) |
229 | ret = 0; | 232 | pr_debug("GPT: mbr size in lba (%u) different than whole disk (%u).\n", |
233 | sz, min_t(uint32_t, | ||
234 | total_sectors - 1, 0xFFFFFFFF)); | ||
230 | } | 235 | } |
231 | done: | 236 | done: |
232 | return ret; | 237 | return ret; |