Bug 1805896
Summary: | mode to empty writecache content | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 8 | Reporter: | David Teigland <teigland> |
Component: | lvm2 | Assignee: | David Teigland <teigland> |
lvm2 sub component: | Cache Logical Volumes | QA Contact: | cluster-qe <cluster-qe> |
Status: | CLOSED ERRATA | Docs Contact: | |
Severity: | unspecified | ||
Priority: | high | CC: | agk, cmarthal, heinzm, jbrassow, mcsontos, msnitzer, pasik, prajnoha, rbednar, rhandlin, zkabelac |
Version: | 8.4 | Keywords: | FutureFeature |
Target Milestone: | rc | ||
Target Release: | 8.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | lvm2-2.03.11-0.2.20201103git8801a86.el8 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2021-05-18 15:01:41 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
David Teigland
2020-02-21 17:14:39 UTC
Cond. NAK for 8.3 - insufficient description. This is an internal change to the way lvm flushes data from the cache to the origin. Since this changes the way writecache is implemented in lvm, not changing this will mean that very few other changes are possible. writecache: use two stage detach Avoid flushing, and potentially blocking for a long time, in suspend by using the cleaner setting. To detach the writecache, first set the cleaner option on the writecache LV without detaching the writecache. Then return to the top level of the command, releasing the VG and the VG lock. From there, periodically check the progress of the cleaner by locking/reading the VG and checking kernel status. Once the cleaner has finished flushing, detach the writecache from the LV. pushed to master https://sourceware.org/git/?p=lvm2.git;a=commit;h=c32d7fed4f78b4537f4ada4318866786a9fab493 Fix verified in the rpms. kernel-4.18.0-275.el8 BUILT: Sat Jan 16 06:29:19 CST 2021 lvm2-2.03.11-1.el8 BUILT: Fri Jan 8 05:21:07 CST 2021 lvm2-libs-2.03.11-1.el8 BUILT: Fri Jan 8 05:21:07 CST 2021 device-mapper-1.02.175-1.el8 BUILT: Fri Jan 8 05:21:07 CST 2021 device-mapper-libs-1.02.175-1.el8 BUILT: Fri Jan 8 05:21:07 CST 2021 device-mapper-event-1.02.175-1.el8 BUILT: Fri Jan 8 05:21:07 CST 2021 device-mapper-event-libs-1.02.175-1.el8 BUILT: Fri Jan 8 05:21:07 CST 2021 # Start writing a bunch of files [root@hayes-01 ~]# /usr/tests/sts-rhel8.3/bin/checkit -w /mnt/large_writecache_removal -f /tmp/checkit_origin_1 -n 1200 checkit starting with: CREATE Num files: 1200 Random Seed: 3819 Verify XIOR Stream: /tmp/checkit_origin_1 Working dir: /mnt/large_writecache_removal [root@hayes-01 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert large_writecache_removal writecache_sanity Cwi-aoC--- 2.00g [pool_cvol] [large_writecache_removal_wcorig] 38.70 # split the cache during the write and cancel it half way through [root@hayes-01 ~]# lvconvert --splitcache writecache_sanity/large_writecache_removal Detaching writecache setting cleaner. Detaching writecache cleaning 932457 blocks This command can be cancelled and rerun to complete writecache detach. ^C [root@hayes-01 ~]# lvs -a -o +devices LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices large_writecache_removal writecache_sanity Cwi-aoC--- 2.00g [pool_cvol] [large_writecache_removal_wcorig] 0.01 large_writecache_removal_wcorig(0) [large_writecache_removal_wcorig] writecache_sanity owi-aoC--- 2.00g /dev/sdb(0) [pool_cvol] writecache_sanity Cwi-aoC--- 1.00g /dev/sdc(0) # Restart the splitcache a second time and let it and the i/o finish [root@hayes-01 ~]# lvconvert --splitcache writecache_sanity/large_writecache_removal Detaching writecache setting cleaner. Detaching writecache finished cleaning. Logical volume writecache_sanity/large_writecache_removal writecache has been detached. [root@hayes-01 ~]# lvs -a -o +devices LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices large_writecache_removal writecache_sanity -wi-ao---- 2.00g /dev/sdb(0) pool writecache_sanity -wi------- 1.00g /dev/sdc(0) # verify the data on the single origin volume [root@hayes-01 ~]# /usr/tests/sts-rhel8.3/bin/checkit -w /mnt/large_writecache_removal -f /tmp/checkit_origin_1 -v checkit starting with: VERIFY Verify XIOR Stream: /tmp/checkit_origin_1 Working dir: /mnt/large_writecache_removal FYI - this verification process doesn't work with striped wc origin volumes (See bug 1921214). 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 (lvm2 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:1659 |