Bug 1505394 - [RFE] Better support for suspend of out-of-space old snapshots
Summary: [RFE] Better support for suspend of out-of-space old snapshots
Keywords:
Status: NEW
Alias: None
Product: LVM and device-mapper
Classification: Community
Component: lvm2
Version: 2.02.176
Hardware: Unspecified
OS: Unspecified
medium
unspecified
Target Milestone: ---
: ---
Assignee: LVM Team
QA Contact: cluster-qe
URL:
Whiteboard:
Depends On:
Blocks: 1155196
TreeView+ depends on / blocked
 
Reported: 2017-10-23 13:49 UTC by Zdenek Kabelac
Modified: 2023-08-10 15:40 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Embargoed:
rule-engine: lvm-technical-solution?
rule-engine: lvm-test-coverage?


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1155196 0 unspecified CLOSED Snapshot issue causes original LV to become suspended 2021-09-03 12:54:43 UTC

Internal Links: 1155196

Description Zdenek Kabelac 2017-10-23 13:49:20 UTC
Description of problem:

Original bug 1155196  pointed out to a problem where lvm2 cannot nicely handle the case where one or more snapshots of origin LV are or will become full because of suspend with fsfreeze.

Existing problem can be quickly summarized as a problem - where lvm2 calls suspend on a snapshot which either already is or could become invalid.
In the 1st. case call fsfreeze is already pointless in the later one, such and error is also not a reason to abort whole operation - since out-of-space/invalid snapshot is 'expected' behavior as it may happen anytime during the life of snapshot.

Currently such fsfreeze error cause abort of whole origin+snapshot tree thus in case there is already out-of-space snapshot (or there will be, because of needed  writes) user cannot easily create a new snapshot.



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

How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Corey Marthaler 2018-04-23 21:03:19 UTC
Adding the left over failures from bug 1155196 here so we know why we still can't run this scenario w/ 7.5 code.

SCENARIO - [additional_snap_attempt_w_existing_suspended_snap]
Attempt to create an additional snapshot with existing suspended full snapshot
Making origin volume
lvcreate -L 300M snapper -n origin
Placing an EXT filesystem on origin volume
mke2fs 1.42.9 (28-Dec-2013)
Making snapshot of origin volume
lvcreate -s /dev/snapper/origin -c 16 -n suspended_snap -L 50M
Mounting snapshot and origin volume

Filling snapshot by writting to origin volume, while holding open the snapshot device mnt point
qarsh root@host-086 dd if=/dev/zero of=/mnt/origin/fill_file bs=1M count=60 oflag=direct
60+0 records in
60+0 records out
62914560 bytes (63 MB) copied, 1.57702 s, 39.9 MB/s
Verify snapshot was auto-unmounted due to corruption
pvscan --cache
  /dev/snapper/suspended_snap: read failed after 0 of 1024 at 0: Input/output error
  /dev/snapper/suspended_snap: read failed after 0 of 1024 at 314507264: Input/output error
  /dev/snapper/suspended_snap: read failed after 0 of 1024 at 314564608: Input/output error
  /dev/snapper/suspended_snap: read failed after 0 of 1024 at 4096: Input/output error
  /dev/snapper/suspended_snap: read failed after 0 of 2048 at 0: Input/output error
lvcreate -s /dev/snapper/origin -c 16 -n suspended_snap2 -L 50M
  Rounding up size to full physical extent 52.00 MiB
  device-mapper: suspend ioctl on  (253:5) failed: Input/output error
  Unable to suspend snapper-suspended_snap (253:5)
  Failed to lock logical volume snapper/origin.
  Aborting. Manual intervention required.
couldn't create snapshot suspended_snap2
additional snap attempt failed, possible regression of bug 1155196


3.10.0-862.el7.x86_64

lvm2-2.02.177-4.el7    BUILT: Fri Feb 16 13:22:31 CET 2018
lvm2-libs-2.02.177-4.el7    BUILT: Fri Feb 16 13:22:31 CET 2018
lvm2-cluster-2.02.177-4.el7    BUILT: Fri Feb 16 13:22:31 CET 2018
lvm2-lockd-2.02.177-4.el7    BUILT: Fri Feb 16 13:22:31 CET 2018
lvm2-python-boom-0.8.5-4.el7    BUILT: Fri Feb 16 13:37:10 CET 2018
cmirror-2.02.177-4.el7    BUILT: Fri Feb 16 13:22:31 CET 2018
device-mapper-1.02.146-4.el7    BUILT: Fri Feb 16 13:22:31 CET 2018
device-mapper-libs-1.02.146-4.el7    BUILT: Fri Feb 16 13:22:31 CET 2018
device-mapper-event-1.02.146-4.el7    BUILT: Fri Feb 16 13:22:31 CET 2018
device-mapper-event-libs-1.02.146-4.el7    BUILT: Fri Feb 16 13:22:31 CET 2018
device-mapper-persistent-data-0.7.3-3.el7    BUILT: Tue Nov 14 12:07:18 CET 2017


Note You need to log in before you can comment on or make changes to this bug.