tests: only update last_byte when at the edge
commit829db8b497d855d39f85df4de9472c0b74ec5c3f
authorPeter Xu <peterx@redhat.com>
Mon, 23 Jul 2018 12:33:04 +0000 (23 20:33 +0800)
committerDr. David Alan Gilbert <dgilbert@redhat.com>
Tue, 24 Jul 2018 16:21:55 +0000 (24 17:21 +0100)
treefacec96d55337010c3fc74c02912488db5daa33f
parent97ca211c6216ccfcb64c46f739a0ce36042d9ea8
tests: only update last_byte when at the edge

The only possible change of last_byte is when it reaches the edge.
Setting it every time might let last_byte contain an invalid data when
memory corruption is detected, then the check of the next byte will be
incorrect.  For example, a single page corruption at address 0x14ad000
will also lead to a "fake" corruption at 0x14ae000:

  Memory content inconsistency at 14ad000 first_byte = 44 last_byte = 44 current = ef hit_edge = 0
  Memory content inconsistency at 14ae000 first_byte = 44 last_byte = ef current = 44 hit_edge = 0

After the patch, it'll only report the corrputed page:

  Memory content inconsistency at 14ad000 first_byte = 44 last_byte = 44 current = ef hit_edge = 0

Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20180723123305.24792-4-peterx@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
tests/migration-test.c