Bug 1966818

Summary: Converted LVM VDO eventually loses its deduplication index.
Product: Red Hat Enterprise Linux 8 Reporter: Matthew Sakai <msakai>
Component: kmod-kvdoAssignee: Matthew Sakai <msakai>
Status: CLOSED ERRATA QA Contact: Filip Suba <fsuba>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.5CC: awalsh, cwei, fsuba
Target Milestone: betaKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 6.2.5.48 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-09 19:28:28 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Matthew Sakai 2021-06-02 00:33:42 UTC
Description of problem:

After converting a non-lvm VDO to an lvm VDO, after a certain amount of new writes, the index will fail to invalidate the moved chapter when it is supposed to. The amount of data required to trigger this condition depends on the state if the index before conversion.

Version-Release number of selected component (if applicable):


How reproducible:

100%

Steps to Reproduce:
1. Create a new non-lvm VDO with a default index. Write ~150G of unique data to it. Then note the data blocks used count in VDO statistics.
2. Convert the VDO to an LVM VDO.
3. Write the same 150G of data to the VDO again (without overwriting).
4. Note the new value for "data blocks used".

Actual results:

At some point in the second write, the message "reap_oldest_chapter failed" should get logged. Also, I believe VDO will note that it is destroying the index and making a new one.

The "data  blocks used" count noted in step 4 will be larger than the one noted in step 1.

Expected results:

Neither VDO nor UDS should log any error messages. The "data blocks used" count in step 4 should be the same as the one in step 1.

Additional info:

I only reproduced this through the index at a low level; I did not reproduce this with an entire VDO. The behavior in the failing case may differ somewhat from what I've described.

Comment 4 Filip Suba 2021-08-02 06:44:28 UTC
Verified with kmod-kvdo-6.2.5.65-79.el8.

Comment 7 errata-xmlrpc 2021-11-09 19:28:28 UTC
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 (kmod-kvdo bug fix and enhancement update), 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-2021:4359