Bug 742564

Summary: stop using '--sysinit' for vgchange
Product: [Fedora] Fedora Reporter: Michal Schmidt <mschmidt>
Component: lvm2Assignee: Peter Rajnoha <prajnoha>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: agk, bmarzins, bmr, dwysocha, heinzm, iarlyy, initscripts-maint-list, jonathan, lvm-team, msnitzer, plautrba, prajnoha, prockai, rvokal, zkabelac
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: lvm2-2.02.122-1.fc23 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-06-22 07:45:41 UTC Type: ---
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: 814857, 1222495    
Bug Blocks:    

Description Michal Schmidt 2011-09-30 14:51:17 UTC
Description of problem:
Once lvm2 starts using /run (bug 742554), it should be no longer necessary to disable file-based locking in the vgchange call in fedora-storage-init.
Removing '--sysinit' will make it safe to call LVM operations concurrently from other units.

(Note that '--sysinit' disables more than just the locking, so we should check first if some of them still need to be disabled or not.)

Version-Release number of selected component (if applicable):
initscripts-9.32-1.fc16

Comment 1 Bill Nottingham 2011-09-30 14:58:09 UTC
CC'ing LVM team for opinions. The entire reason --sysinit is used is because it does more than just locking changes.

Comment 2 Alasdair Kergon 2011-09-30 21:48:36 UTC
Indeed, needs a quick review to see if all the other reasons for it will also have gone away with that change.  Will transfer back once that's sorted out.

Comment 3 Peter Rajnoha 2012-10-19 08:35:21 UTC
We already use the /run dir (the bug #742554). So let's move forward with this report now...

The --sysinit is a compound option consisting of:

  -> --ignorelockingfailure - not needed anymore, the /run/lock/lvm is available rw soon in boot process

  -> --ignoremonitoring - not needed since /run is available, this would require the dm-event.service to be run before fedora-storage-init.service (and new lvm2-activation.service when deployed). But that's a one line change - I'll have a look whether it plays well with other services and if yes, I'll commit the change. N.B.: This has a consequence that all volumes activated on vgchange -ay will be monitored at the same time they're activated (which is a plus I think). The lvm2-monitor will just grab all the other volumes not activated at the time of the boot's vgchange -ay call. But that's not an issue (for already monitored volumes, calling vgchange --monitor y will just be a NOOP).

 -> --poll n - not needed, we can run the polldaemon as the /run is available and rw (in case there's unfinished merge or mirror sync from previous system run, the poll-daemon will be triggered at boot now). Actually, the polldaemon should be triggered as a service like dmeventd is, not forked off from the LVM command itself, like from vgchange in this case - we still need to change this - there's a bug open for this request already (bug #814857). However, we don't have this feature ready yet so I need to check whether this is OK with the early boot process with the current state.

 -> setting LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES env. variable - not needed now, file-based locking should just work as the /run/lock/lvm is rw

I'll give this a try and test it (with a few issued mentioned above) and if it goes well, I'll remove the --sysinit (it might be that the first thing to do should be to concentrate on bug #814857 before we proceed with this bug).

Comment 4 Fedora End Of Life 2013-04-03 19:40:36 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 19 development cycle.
Changing version to '19'.

(As we did not run this process for some time, it could affect also pre-Fedora 19 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 19 End Of Life. Thank you.)

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora19

Comment 5 Fedora Admin XMLRPC Client 2013-09-04 14:49:48 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 6 Peter Rajnoha 2015-05-21 10:21:59 UTC
We have lvmpolld in lvm2 since v2.02.120.

The --sysinit is not used in lvm2-activation.service (also in lvm2-activation-early.service and lvm2-activation-net.service), will appear in upcoming lvm2 v2.02.121:

https://git.fedorahosted.org/cgit/lvm2.git/commit/?id=ba68aed8366c201ab0a263a9935243a9e6f08875