DescriptionSweet Tea Dorminy
2018-09-12 18:11:34 UTC
Description of problem:
If a block map page is more than 16T into a VDO storage device, and the recovery journal has an entry for that block map page, both normal recovery and read-only rebuild will hang indefinitely due to accidental truncation of a 64 bit block number into 32 bits.
Version-Release number of selected component (if applicable):
kmod-kvdo-6.1.0.185-17
How reproducible: Moderately
Steps to Reproduce:
1. Make a >16T physical VDO.
2. Write some data, coercing the block map pages to be at the end of the volume. (I believe the default allocation policy means this happens with any write)
3.Crash and restart the machine.
Actual results:
Infinite hang during restart
Expected results:
Finite-time waiting.
Additional info:
I was not able to reproduce it with vdo-6.1.1.125 using the reproducer in Z-stream clone - creating VDO with 180G index and crashing while randwriting data, the rebuild passed and both VDO devices started without issues.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHBA-2018:3094