On 09/25/2013 04:39 PM, HATAYAMA Daisuke wrote:
(2013/09/25 17:16), Jingbai Ma wrote:
<cut>
>>
>>> @@ -5153,10 +5160,11 @@ write_kdump_header(void)
>>> * Write common header
>>> */
>>> strncpy(dh->signature, KDUMP_SIGNATURE, strlen(KDUMP_SIGNATURE));
>>> - dh->header_version = 5;
>>> + dh->header_version = 6;
>>> dh->block_size = info->page_size;
>>> dh->sub_hdr_size = sizeof(kh) + size_note;
>>> dh->sub_hdr_size = divideup(dh->sub_hdr_size, dh->block_size);
>>> + /* dh->max_mapnr may be truncated here, full 64bit in kh.max_mapnr */
>>> dh->max_mapnr = info->max_mapnr;
>>
>> dh->max_mapnr = MIN(info->max_mapnr, UINT_MAX) seems better for old
>> versions of crash utitlity.
>>
>
> Although change this value to UINT_MAX doesn't help the old crash
> utility very much. At least this special value will tell the user
> something happened.
> Will fix it.
>
>
This is the largest page frame number old crash utilities can represent,
not special value.
By this, old crash utilities can read at least the pages less than
UINT_MAX,
which is better than making dh->max_mapnr overflow; then dh->max_mapnr
would typically become
a small number.
I knew, but crash utility may still report reading page error before its
command prompt.
Anyway, UINT_MAX has a better chance to make old utility happy, so I
will fix it. :)
--
Thanks,
Jingbai Ma