Bug 1668291

Summary: CreateSnapshot reads uninitialized memory and goes wrong
Product: Red Hat Enterprise Linux 8 Reporter: Marius Vollmer <mvollmer>
Component: udisks2Assignee: Tomáš Bžatek <tbzatek>
Status: CLOSED ERRATA QA Contact: guazhang <guazhang>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: ---CC: guazhang, rhandlin
Target Milestone: rc   
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: udisks2-2.8.3-1.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-11-05 21:18:34 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: 1682538, 1685210    
Bug Blocks:    

Description Marius Vollmer 2019-01-22 11:22:47 UTC
Description of problem:

Creating snapshots of thin volumes from Cockpit doesn't work anymore.  The error message is

   Error creating snapshot: Process reported exit code 3:   --size may not be
   zero.  Run `lvcreate --help' for more information. 

The reason is that CreateSnapshot fails to initialize data.new_lv_size when its size argument is zero.

Version-Release number of selected component (if applicable):
udisks2-2.8.0-2.el8.x86_64

How reproducible:
Always for me, but it depends on unitialized memory

Steps to Reproduce:
1. vgcreate TEST /dev/sda
2. lvcreate TEST --thinpool pool -L 20m
3. lvcreate -T TEST/pool -n thin -V 100m
4. gdbus call -y -d org.freedesktop.UDisks2 -o /org/freedesktop/UDisks2/lvm/TEST/thin -m org.freedesktop.UDisks2.LogicalVolume.CreateSnapshot snap 0 '{}'
Error: GDBus.Error:org.freedesktop.UDisks2.Error.Failed: Error creating snapshot: Process reported exit code 3:   --size may not be zero.


Actual results:
Calling CreateSnapshot fails with the error shown above.

Expected results:
the call should succeed.

Additional info:
See https://github.com/storaged-project/udisks/pull/617 for a fix.

Comment 2 guazhang@redhat.com 2019-06-19 03:41:24 UTC
Hello

test passed with udisks2-2.8.3-2.el8.x86_64

INFO: [2019-06-18 23:39:04] Running: 'lsblk | grep TEST'...
TEST-pool_tmeta                   253:6    0     4M  0 lvm   
 TEST-pool-tpool                 253:8    0    32M  0 lvm   
   TEST-pool                     253:9    0    32M  0 lvm   
   TEST-thin                     253:10   0   100M  0 lvm   
TEST-pool_tdata                   253:7    0    32M  0 lvm   
  TEST-pool-tpool                 253:8    0    32M  0 lvm   
    TEST-pool                     253:9    0    32M  0 lvm   
    TEST-thin                     253:10   0   100M  0 lvm
INFO: [2019-06-18 23:39:14] Running: 'busctl call org.freedesktop.UDisks2 /org/freedesktop/UDisks2/Manager               org.freedesktop.UDisks2.Manager EnableModules 'b' 1'...

INFO: [2019-06-18 23:39:14] Running: 'gdbus call -y -d org.freedesktop.UDisks2 -o /org/freedesktop/UDisks2/lvm/TEST/thin -m             org.freedesktop.UDisks2.LogicalVolume.CreateSnapshot snap 0 '{}''...
(objectpath '/org/freedesktop/UDisks2/lvm/TEST/snap',)

Comment 4 errata-xmlrpc 2019-11-05 21:18:34 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-2019:3459