Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 458268 Details for
Bug 604334
lvm2-2.02.166-r1: new ebuild with new USE=sanlock to add lvmlockd functionality
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
extended lvm service to activate lockd VGs
lvm.rc-2.02.166-r1 (text/plain), 3.80 KB, created by
Marc Schiffbauer
on 2017-01-02 00:26:20 UTC
(
hide
)
Description:
extended lvm service to activate lockd VGs
Filename:
MIME Type:
Creator:
Marc Schiffbauer
Created:
2017-01-02 00:26:20 UTC
Size:
3.80 KB
patch
obsolete
>#!/sbin/openrc-run ># Copyright 1999-2016 Gentoo Foundation ># Distributed under the terms of the GNU General Public License v2 ># $Id$ > >_get_lvm_path() { > local lvm_path= > for lvm_path in /bin/lvm /sbin/lvm ; do > [ -x "$lvm_path" ] && break > done > echo "${lvm_path}" >} > >_need_lvmetad() >{ > local lvm_path="$(_get_lvm_path)" > [ ! -x "${lvm_path}" ] && return 1 > ${lvm_path} dumpconfig global 2>/dev/null | grep -q 'use_lvmetad=1' >} > >depend() { > before checkfs fsck > after modules device-mapper > # We may use lvmetad based on the configuration. If we added lvmetad > # support while lvm2 is running then we aren't dependent on it. For the > # more common case, if its disabled in the config we aren't dependent > # on it. > config /etc/lvm/lvm.conf > local _need= > if service_started; then > _need=$(service_get_value need) > else > if _need_lvmetad; then > _need="${_need} lvmetad" > fi > fi > need sysfs ${_need} >} > >config='global { locking_dir = "/run/lock/lvm" }' > >dm_in_proc() { > local retval=0 > for x in devices misc ; do > grep -qs 'device-mapper' /proc/${x} > retval=$((${retval} + $?)) > done > return ${retval} >} > >start() { > # LVM support for /usr, /home, /opt .... > # This should be done *before* checking local > # volumes, or they never get checked. > > # NOTE: Add needed modules for LVM or RAID, etc > # to /etc/modules.autoload if needed > lvm_path="$(_get_lvm_path)" > for lvm_path in /bin/lvm /sbin/lvm ; do > [ -x "$lvm_path" ] && break > done > if [ ! -x "$lvm_path" ]; then > eerror "Cannot find lvm binary in /sbin or /bin!" > return 1 > fi > if [ -z "${CDBOOT}" ] ; then > if [ -e /proc/modules ] && ! dm_in_proc ; then > modprobe dm-mod 2>/dev/null > fi > if [ -d /proc/lvm ] || dm_in_proc ; then > ebegin "Setting up the Logical Volume Manager" > #still echo stderr for debugging > lvm_commands="#! ${lvm_path} --config '${config}'\n" > # Extra PV find pass because some devices might not have been available until very recently > lvm_commands="${lvm_commands}pvscan\n" > # Now make the nodes > lvm_commands="${lvm_commands}vgscan --mknodes\n" > # And turn them on! > lvm_commands="${lvm_commands}vgchange --sysinit -a ly\n" > # Start lockd VGs as required > lvm_commands="${lvm_commands}vgchange --lock-start --lock-opt auto\n" > # Order of this is important, have to work around dash and LVM readline > printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 --config "${config}" >/dev/null > eend $? "Failed to setup the LVM" > fi > fi >} > >start_post() >{ > # Save if we needed lvmetad > if _need_lvmetad; then > service_set_value need lvmetad > fi >} > >stop() { > for lvm_path in /bin/lvm /sbin/lvm ; do > [ -x "$lvm_path" ] && break > done > if [ ! -x "$lvm_path" ]; then > eerror "Cannot find lvm binary in /sbin or /bin!" > return 1 > fi ># Stop LVM2 >if [ -x /sbin/vgs ] && \ > [ -x /sbin/vgchange ] && \ > [ -x /sbin/lvchange ] && \ > [ -f /etc/lvmtab -o -d /etc/lvm ] && \ > [ -d /proc/lvm -o "`grep device-mapper /proc/misc 2>/dev/null`" ] >then > einfo "Shutting down the Logical Volume Manager" > > VGS=$($lvm_path vgs --config "${config}" -o vg_name --noheadings --nosuffix --rows 2> /dev/null) > > if [ "$VGS" ] > then > ebegin " Shutting Down LVs & VGs" > #still echo stderr for debugging > lvm_commands="#! ${lvm_path} --config '${config}'\n" > # Extra PV find pass because some devices might not have been available until very recently > lvm_commands="${lvm_commands}lvchange --sysinit -a ln ${VGS}\n" > # Now make the nodes > lvm_commands="${lvm_commands}vgchange --sysinit -a ln ${VGS}\n" > # Order of this is important, have to work around dash and LVM readline > printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 --config "${config}" >/dev/null > eend $? "Failed (possibly some LVs still needed for /usr or root)" > fi > > einfo "Finished shutting down the Logical Volume Manager" > return 0 >fi >} > ># vim:ts=4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 604334
:
458266
| 458268 |
458270
|
458272