Bug 1460161

Summary: lvs reports incorrect output when a snapshot is merging
Product: Red Hat Enterprise Linux 7 Reporter: Alasdair Kergon <agk>
Component: lvm2Assignee: Zdenek Kabelac <zkabelac>
lvm2 sub component: Displaying and Reporting QA Contact: cluster-qe <cluster-qe>
Status: CLOSED ERRATA Docs Contact:
Severity: high    
Priority: high CC: agk, cluster-qe, cmarthal, heinzm, jbrassow, lmiksik, msnitzer, prajnoha, prockai, rbednar, tasleson, zkabelac
Version: 7.4Keywords: Regression
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: lvm2-2.02.171-5.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1458061 Environment:
Last Closed: 2017-08-01 21:54:18 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:
Bug Depends On: 1458061    
Bug Blocks:    

Description Alasdair Kergon 2017-06-09 09:48:38 UTC
+++ This bug was initially created as a clone of Bug #1458061 +++

lvs -a -o+name
  LV   
  lvol0
  [lvol1]

lvs -a -o+name,attr
  LV    Attr      
  lvol0 Owi-a-s---
  lvol0 Owi-a-s---

The output changes according to which columns you select!

Due to this commit which incorrectly overwrites the LV being reported upon when kernel device-mapper status information is queried:

commit 6fd20be629b6dceb96702c5f875a2e612e6f465d
Author: Zdenek Kabelac <zkabelac>
Date:   Mon Dec 5 14:31:25 2016 +0100

    activation: lv_info_with_seg_status API change
    
    Drop LV from passed API arg - it's always segment being checked.
    Also use_layer is now in full control of lv_info_with_seg_status().
    It decides which device needs to be checked to get 'the most info'.
    
    TODO: future version should be able to expose status from


Sometimes the status comes from a different LV from the rest of the data - it is incorrect to change it affecting the caller!

-                       lv = origin_from_cow(lv);
+                       status->lv = lv = origin_from_cow(lv);

Comment 1 Zdenek Kabelac 2017-06-09 20:18:34 UTC
Restoring some reported info for old snapshot with:

https://www.redhat.com/archives/lvm-devel/2017-June/msg00027.html

Comment 5 errata-xmlrpc 2017-08-01 21:54:18 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, 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-2017:2222