Bug 1957892

Summary: [RFE] lvextend with writecache origin
Product: Red Hat Enterprise Linux 8 Reporter: David Teigland <teigland>
Component: lvm2Assignee: David Teigland <teigland>
lvm2 sub component: Cache Logical Volumes QA Contact: cluster-qe <cluster-qe>
Status: CLOSED ERRATA Docs Contact:
Severity: medium    
Priority: medium CC: agk, cmarthal, heinzm, jbrassow, mcsontos, msnitzer, prajnoha, zkabelac
Version: 8.3Keywords: FutureFeature, Triaged
Target Milestone: beta   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: lvm2-2.03.12-1.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-09 19:45:54 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 2021-05-06 17:51:35 UTC
Description of problem:

Add the ability to lvextend an LV with an attached writecache.

See bug 1160044 for lvextend of an LV with an attached cache.

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


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 David Teigland 2021-05-06 17:53:47 UTC
fix
https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=ac09fa08aa7a10cc3f807830de5d625d499ed1b1

commit ac09fa08aa7a10cc3f807830de5d625d499ed1b1
Author: Zdenek Kabelac <zkabelac>
Date:   Sat Feb 20 22:22:51 2021 +0100

    lvextend: enable resize of writecached LV


Missing lvm tests.

Comment 2 David Teigland 2021-05-06 19:48:00 UTC
Created a new test "lvextend-caches" that tests lvextend of an LV with an attached cache|writecache:
https://sourceware.org/git/?p=lvm2.git;a=blob;f=test/shell/lvextend-caches.sh

Comment 6 Corey Marthaler 2021-06-01 16:18:21 UTC
Marking Verified:Tested in the latest lvm rpms.

kernel-4.18.0-305.7.el8.kpq1    BUILT: Mon May 17 12:55:07 CDT 2021
lvm2-2.03.12-2.el8    BUILT: Tue Jun  1 06:55:37 CDT 2021
lvm2-libs-2.03.12-2.el8    BUILT: Tue Jun  1 06:55:37 CDT 2021
device-mapper-1.02.177-2.el8    BUILT: Tue Jun  1 06:55:37 CDT 2021
device-mapper-libs-1.02.177-2.el8    BUILT: Tue Jun  1 06:55:37 CDT 2021


SCENARIO - [open_XFS_on_writecache_origin_fsadm_resize_attempts]
Create a writecached XFS filesystem, mount it, snapshot it, and resize the ORIGIN while online

*** Writecache info for this scenario ***
*  origin (slow):  /dev/sdh1
*  pool (fast):    /dev/sdk1
************************************

Adding "slow" and "fast" tags to corresponding pvs
Create origin (slow) volume
lvcreate --yes --wipesignatures y  -L 4G -n cworigin writecache_sanity @slow

Create writecache cvol (fast) volumes
lvcreate --yes  -L 4G -n pool writecache_sanity @fast

Deactivate *ONLY* fast pool before conversion to write cache (SEE bug 1185347)
Create writecached volume by combining the cache pool (fast) and origin (slow) volumes
lvconvert --yes --type writecache --cachesettings 'low_watermark=9 high_watermark=58 writeback_jobs=1020 autocommit_blocks=2170 autocommit_time=2772' --cachevol writecache_sanity/pool writecache_sanity/cworigin
Placing an XFS filesystem on origin volume
Mounting origin volume

Writing files to /mnt/cworigin
Checking files on /mnt/cworigin
Making snapshot of origin volume
lvcreate --yes  -s /dev/writecache_sanity/cworigin -c 16 -n online_resize -L 500M
Resize the open snapshoted ORIGIN XFS filesystem multiple times with lvextend/fsadm on hayes-01
RESIZING CACHE VOLUMES IS NOW SUPPORTED IN 8.5
(lvextend -L +500M -r /dev/writecache_sanity/cworigin)
FS: 3854 >= 4375
LV: 4194304.00 eq 4706304.00
Checking files on /mnt/cworigin

(lvextend -L +500M -r /dev/writecache_sanity/cworigin)
FS: 4375 >= 4895
LV: 4706304.00 eq 5218304.00
Checking files on /mnt/cworigin

(lvextend -L +500M -r /dev/writecache_sanity/cworigin)
FS: 4895 >= 5416
LV: 5218304.00 eq 5730304.00
Checking files on /mnt/cworigin

(lvextend -L +500M -r /dev/writecache_sanity/cworigin)
FS: 5416 >= 5936
LV: 5730304.00 eq 6242304.00
Checking files on /mnt/cworigin

(lvextend -L +500M -r /dev/writecache_sanity/cworigin)
FS: 5936 >= 6457
LV: 6242304.00 eq 6754304.00
Checking files on /mnt/cworigin

(lvextend -L +500M -r /dev/writecache_sanity/cworigin)
FS: 6457 >= 6978
LV: 6754304.00 eq 7266304.00
Checking files on /mnt/cworigin

(lvextend -L +500M -r /dev/writecache_sanity/cworigin)
FS: 6978 >= 7498
LV: 7266304.00 eq 7778304.00
Checking files on /mnt/cworigin

(lvextend -L +500M -r /dev/writecache_sanity/cworigin)
FS: 7498 >= 8019
LV: 7778304.00 eq 8290304.00
Checking files on /mnt/cworigin

(lvextend -L +500M -r /dev/writecache_sanity/cworigin)
FS: 8019 >= 8539
LV: 8290304.00 eq 8802304.00
Checking files on /mnt/cworigin

(lvextend -L +500M -r /dev/writecache_sanity/cworigin)
FS: 8539 >= 9060
LV: 8802304.00 eq 9314304.00
Checking files on /mnt/cworigin

Removing snap volume writecache_sanity/online_resize
lvremove -f /dev/writecache_sanity/online_resize
Separating cache pool (lvconvert --yes --splitcache writecache_sanity/cworigin) from cache origin
Removing cache pool writecache_sanity/pool
Removing cache origin volume writecache_sanity/cworigin
lvremove -f /dev/writecache_sanity/cworigin

Comment 11 errata-xmlrpc 2021-11-09 19:45:54 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 (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:4431