summaryrefslogtreecommitdiff
path: root/systemd
Commit message (Collapse)AuthorAge
* install: use BINDIR consistently to locate mdadm and mdmonNeilBrown2014-05-22
| | | | | | | | Every place where the paths for mdadm or mdmon is explicit, it should use the BINDIR setting, not "/sbin/". Reported-by: member graysky <graysky@archlinux.us> (https://bugs.archlinux.org/task/37330) Signed-off-by: NeilBrown <neilb@suse.de>
* Grow: try to let "--grow --continue" from systemd complete a reshape.NeilBrown2014-05-15
| | | | | | | | | | | If "--assemble" or "--incremental" is started by udev, then monitoring the reshape in the background won't work. So try asking systemd to start a grow-continue. If that fails, just do it the old way. Signed-off-by: NeilBrown <neilb@suse.de>
* systemd: various fixes for boot with container-arrays.NeilBrown2014-04-08
| | | | | | | | | | | | | | | | | | | | | | | | | 1/ Add systemd shutdown script to ensure DDF and IMSM are clean before we actually shutdown 2/ Get udev to tell systemd to run the mdmon@mdXXX.service units when a member array appears. If we boot off a member array (with dracut at least), the mdmon started in the initramfs will lose track of /sys etc, so we need to restart it. systemd will try to forget about it too (but not actually kill it because we said not to do this). Having udev tell it to start it will allow a new mdmon to run which can see /sys, and systemd will know about it. 3/ Always use --offroot and --takeover when starting mdmon with systemd --offroot is needed else shutdown will hang. --takeover is needed incase an mdmon was started earlier (e.g. in initramfs). Neither hurt if they aren't actually needed. Signed-off-by: NeilBrown <neilb@suse.de>
* mdmon@.service: Change type of process start-up to 'forking'.Pawel Baldysiak2014-03-11
| | | | | | | | | | | | | | | | | | | Mdadm does not wait enough time when mdmon is started by systemd. It causes various problems with behaviour of a RAID volume with external metadata. For example: mdmon does not update a value of checkpoint during migration and second RAID5 volume is read-only after reboot done during container reshape (both problems occur with IMSM matadata). If a type of process start-up is changed to 'forking', systemctl will wait until mdmon (parent) process exits after calling fork. This way mdmon will always be fully initialized after start_mdmon and these problems will not occur. In this case it is recommended to add a path to PIDFile, so that systemd does not have to guess a PID of the mdmon process. Signed-off-by: Pawel Baldysiak <pawel.baldysiak@intel.com> Reviewed-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com> Reviewed-by: Lukasz Dorau <lukasz.dorau@intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
* mdmon@.service: remove over-ride of Standard IO.NeilBrown2014-01-22
| | | | | | | | Redirecting output to /dev/null is unnecessary and hides any error messages there might be. So leave as defaults which are none, journal, inherit. Signed-off-by: NeilBrown <neilb@suse.de>
* systemd/mdmon: set IMSM_NO_PLATFORM=1NeilBrown2014-01-21
| | | | | | | | | | As mdmon doesn't inherit environment from mdadm when it is started by system, it cannot inherit IMSM_NO_PLATFORM. But if an imsm array as assembled then mdmon really should handle it whether there is a platform present or not. So always set this var. Signed-off-by: NeilBrown <neilb@suse.de>
* mdamd-last-resort: add a Conflicts line to stop the timer.NeilBrown2013-12-12
| | | | | | | | | | When the md device actually appears we want to stop the timer and not bother with the mdadm-last-resort@.server. In particular, running that causes confusing messages and is in general best avoided. Fortuantely this can simply be achieved with a Conflicts= line Signed-off-by: NeilBrown <neilb@suse.de>
* Add mdmonitor.service systemd unit file.NeilBrown2013-12-11
| | | | | | | | | | | | | | | | | | | | This systemd unit file runs mdadm in --monitor mode. It is started by a SYSTEMD_WANTS signal from udev whenever an md array is started that would benefit from mdadm --monitor. Commandline arguments can be provided by a script /usr/lib/systemd/scripts/mdadm_env.sh which should write an MDADM_MONITOR_ARGS=.... line to /run/sysconfig/mdadm A script to extra args from SUSE's /etc/sysconfig/mdadm file is provided. If no mdadm_env.sh is provided, then args are "--scan" which requires "mail" or "program" to be set in /etc/mdadm.conf. I believe this is suitable for Fedora. Signed-off-by: NeilBrown <neilb@suse.de>
* Systemd integration for starting newly-degraded arrays.NeilBrown2013-12-02
| | | | | | | | | | | | | | | | Normally "mdadm -I" will not start an array if it has reason to expect further devices. This means that if a device is removed while the host is shut down, "mdadm -I" will never start the device. If the array is know to the host, it make sense to start the array anyway after a reasonable timeout. This patch adds systemd/udev infrastructure so that 30 seconds after a known array first becomes able to be assembled as a degraded array, the array will be assembled even if more devices are still expected. Signed-off-by: NeilBrown <neilb@suse.de>
* mdmon: add --foreground optionNeilBrown2013-02-05
| | | | | | | | While not strictly necessary for systemd, it is cleaner to avoid forking when running from a management daemon. So add a --foreground option to mdmon. Signed-off-by: NeilBrown <neilb@suse.de>
* Add support for launching mdmon via systemctl instead of fork/execJes Sorensen2013-02-05
If launching mdmon via systemctl fails, we fall back to the old method of fork/exec. This allows for having mdmon launched via systemctl which avoids problems with it getting killed by systemd due to it ending up in the parent's cgroup (udev). Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: NeilBrown <neilb@suse.de>