diff options
author | Weiping Zhang <zhangweiping@didichuxing.com> | 2018-06-22 00:20:49 +0800 |
---|---|---|
committer | Weiping Zhang <zhangweiping@didichuxing.com> | 2018-06-22 01:19:13 +0800 |
commit | 826f8a0d53c2cc0512e2c717793660a87ce63009 (patch) | |
tree | 60cd25ef5c5654afe01c97855bcb09b49a5a270d /gpt.cc | |
parent | c41db9e6908d3b756efd47534720c7da095abd19 (diff) | |
download | sgdisk-826f8a0d53c2cc0512e2c717793660a87ce63009.tar.gz |
Show detail status of header and table
Signed-off-by: Weiping Zhang <zhangweiping@didichuxing.com>
Diffstat (limited to 'gpt.cc')
-rw-r--r-- | gpt.cc | 22 |
1 files changed, 20 insertions, 2 deletions
@@ -934,9 +934,27 @@ int GPTData::ForceLoadGPTData(void) { } // if */ // Check for valid CRCs and warn if there are problems - if ((mainCrcOk == 0) || (secondCrcOk == 0) || (mainPartsCrcOk == 0) || + if ((validHeaders != 3) || (mainPartsCrcOk == 0) || (secondPartsCrcOk == 0)) { - cerr << "Warning! One or more CRCs don't match. You should repair the disk!\n\n"; + cerr << "Warning! One or more CRCs don't match. You should repair the disk!\n"; + // Show detail status of header and table + if (validHeaders & 0x1) + cerr << "Main header: OK\n"; + else + cerr << "Main header: ERROR\n"; + if (validHeaders & 0x2) + cerr << "Backup header: OK\n"; + else + cerr << "Backup header: ERROR\n"; + if (mainPartsCrcOk) + cerr << "Main partition table: OK\n"; + else + cerr << "Main partition table: ERROR\n"; + if (secondPartsCrcOk) + cerr << "Backup partition table: OK\n"; + else + cerr << "Backup partition table: ERROR\n"; + cerr << "\n"; state = gpt_corrupt; } // if } else { |