Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1114151

Summary: problems when removing snaps of cache volumes after cache rename and I/O
Product: Red Hat Enterprise Linux 6 Reporter: Corey Marthaler <cmarthal>
Component: lvm2Assignee: Zdenek Kabelac <zkabelac>
lvm2 sub component: Cache Logical Volumes (RHEL6) QA Contact: Cluster QE <mspqa-list>
Status: CLOSED DEFERRED Docs Contact:
Severity: high    
Priority: unspecified CC: agk, heinzm, jbrassow, mcsontos, msnitzer, prajnoha, zkabelac
Version: 6.6   
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-08-27 12:56:20 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 Corey Marthaler 2014-06-27 22:15:09 UTC
Description of problem:
This is probably a rhel6 version of bug 1105732.

SCENARIO - [cache_pool_rename]

*** Cache info for this scenario ***
*  origin (slow):  /dev/sdf1
*  pool (fast):    /dev/sda1
************************************

Create a cache volume with fs data, and then rename both the cache pool and cache origin volume
Create origin (slow) volume
lvcreate -L 4G -n rename_orig_A cache_sanity /dev/sdf1

Create cache data and cache metadata (fast) volumes
lvcreate -L 4G -n rename_pool_A cache_sanity /dev/sda1
lvcreate -L 8M -n rename_pool_A_meta cache_sanity /dev/sda1

Create cache pool volume by combining the cache data and cache metadata (fast) volumes
lvconvert --yes --type cache-pool --cachemode writeback --poolmetadata cache_sanity/rename_pool_A_meta cache_sanity/rename_pool_A
  WARNING: Converting "cache_sanity/rename_pool_A" logical volume to pool's data volume.
  THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.)
  WARNING: Converting "cache_sanity/rename_pool_A_meta" logical volume to pool's metadata volume.
  THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.)
Create cached volume by combining the cache pool (fast) and origin (slow) volumes
lvconvert --yes --type cache --cachepool cache_sanity/rename_pool_A cache_sanity/rename_orig_A

Placing an ext filesystem on origin volume
mke2fs 1.41.12 (17-May-2010)
Mounting origin volume

Writing files to /mnt/rename_orig_A
Checking files on /mnt/rename_orig_A

syncing before snap creation...
Making 1st snapshot of origin volume
lvcreate -s /dev/cache_sanity/rename_orig_A -c 64 -n snap1 -L 500M
Renaming cache pool volume...
lvrename cache_sanity/rename_pool_A cache_sanity/rename_pool_B
Renaming cache origin volume...
lvrename cache_sanity/rename_orig_A cache_sanity/rename_orig_B
Mounting 1st snap volume

Checking files on /mnt/snap1
Writing files to /mnt/rename_orig_A

syncing before snap creation...
Making 2nd snapshot of origin volume
lvcreate -s /dev/cache_sanity/rename_orig_B -c 64 -n snap2 -L 500M
Mounting 2nd snap volume
Checking files on /mnt/snap2

umount /mnt/snap1 /mnt/snap2 /mnt/rename_orig_A
Renaming cache pool volume back...
lvrename cache_sanity/rename_pool_B cache_sanity/rename_pool_A
Renaming cache origin volume back...
lvrename cache_sanity/rename_orig_B cache_sanity/rename_orig_A


[root@host-001 ~]# lvs -a -o +devices
  LV                     Attr       LSize   Pool          Origin        Data%   Devices               
  [lvol0_pmspare]        ewi-------   8.00m                                     /dev/sde1(0)          
  rename_orig_A          owi-a-C---   4.00g rename_pool_A [rename_orig_A_corig] rename_orig_A_corig(0)
  [rename_orig_A_corig]  -wi-ao----   4.00g                                     /dev/sdf1(0)          
  rename_pool_A          Cwi---C---   4.00g                                     rename_pool_A_cdata(0)
  [rename_pool_A_cdata]  Cwi-aoC---   4.00g                                     /dev/sda1(0)          
  [rename_pool_A_cmeta]  ewi-aoC---   8.00m                                     /dev/sda1(1024)
  snap1                  swi-a-s--- 500.00m               rename_orig_A 29.86   /dev/sde1(2)
  snap2                  swi-a-s--- 500.00m               rename_orig_A 0.08    /dev/sde1(127)

[root@host-001 ~]# lvremove -f /dev/cache_sanity/snap1
  Internal error: Performing unsafe table load while 3 device(s) are known to be suspended:  (253:7) 
  Logical volume "snap1" successfully removed

[root@host-001 ~]# lvs
  LV            VG           Attr       LSize   Pool          Origin          Data%
  rename_orig_A cache_sanity owi-a-C---   4.00g rename_pool_A [rename_orig_A_corig]
  rename_pool_A cache_sanity Cwi---C---   4.00g
  snap2         cache_sanity swi-a-s--- 500.00m               rename_orig_A   0.08

[root@host-001 ~]# lvremove -f /dev/cache_sanity/snap2
  device-mapper: reload ioctl on  failed: Block device required
  Failed to refresh rename_orig_A without snapshot.
  Device '/dev/sde1' has been left open (1 remaining references).
  Device '/dev/sdb1' has been left open (1 remaining references).
  Device '/dev/sda1' has been left open (1 remaining references).
  Device '/dev/sdf1' has been left open (1 remaining references).
  Internal error: 4 device(s) were left open and have been closed.

Jun 27 16:02:00 host-001 kernel: device-mapper: space map common: index_check failed: blocknr 17179870202 != wanted 206
Jun 27 16:02:00 host-001 kernel: device-mapper: block manager: index validator check failed for block 206
Jun 27 16:02:00 host-001 kernel: device-mapper: transaction manager: couldn't open metadata space map
Jun 27 16:02:00 host-001 kernel: device-mapper: cache metadata: tm_open_with_sm failed
Jun 27 16:02:00 host-001 kernel: device-mapper: table: 253:2: cache: Error creating metadata object
Jun 27 16:02:00 host-001 kernel: device-mapper: ioctl: error adding target to table


Version-Release number of selected component (if applicable):
2.6.32-485.el6.x86_64
lvm2-2.02.107-1.el6    BUILT: Mon Jun 23 09:44:45 CDT 2014
lvm2-libs-2.02.107-1.el6    BUILT: Mon Jun 23 09:44:45 CDT 2014
lvm2-cluster-2.02.107-1.el6    BUILT: Mon Jun 23 09:44:45 CDT 2014
udev-147-2.55.el6    BUILT: Wed Jun 18 06:30:21 CDT 2014
device-mapper-1.02.86-1.el6    BUILT: Mon Jun 23 09:44:45 CDT 2014
device-mapper-libs-1.02.86-1.el6    BUILT: Mon Jun 23 09:44:45 CDT 2014
device-mapper-event-1.02.86-1.el6    BUILT: Mon Jun 23 09:44:45 CDT 2014
device-mapper-event-libs-1.02.86-1.el6    BUILT: Mon Jun 23 09:44:45 CDT 2014
device-mapper-persistent-data-0.3.2-1.el6    BUILT: Fri Apr  4 08:43:06 CDT 2014
cmirror-2.02.107-1.el6    BUILT: Mon Jun 23 09:44:45 CDT 2014

Comment 1 Jonathan Earl Brassow 2014-08-27 12:15:33 UTC
Moving this bug to rhel6.7 for the following reasons:
1) Cannot be a blocker for 6.6 release because cache is in tech preview
2) snapshots of cache LVs have been disabled for this release, so it is likely not possible to hit this bug now.

Comment 2 Marian Csontos 2014-08-27 12:47:50 UTC
It is not possible to create snapshots of cache devices with newer LVM.

Snapshots of cache devices were disabled. The FutureFeature is tracked as Bug 1133101.

The question is if we need to handle removing of existing snapshots created with previous LVM2 versions?