summaryrefslogtreecommitdiff
path: root/src/mount.c
AgeCommit message (Collapse)Author
2012-01-26mount: fix automount regressionMichal Schmidt
Tom Gundersen noticed a regression where comment=systemd.automount in fstab no longer prevented the adding of the After=foo.mount dependency into local-fs.target. He bisected it to commit 9ddc4a26. It turns out that clearing the default_dependencies flag is necessary after all, in order to avoid complementing of Wants= with After= in the target unit. We still want to add the dependencies on quota units and umount.target though.
2012-01-16unit: use safe downcasts, remove pointless castsMichal Schmidt
Always use the macros for downcasting. Remove a few obviously pointless casts.
2012-01-16unit: use the UNIT() macro consistentlyMichal Schmidt
The UNIT() macro upcasts from specific unit types to the base Unit. Use it everywhere, rather than accessing the 'meta' member directly.
2012-01-16unit: remove union UnitMichal Schmidt
Now that objects of all unit types are allocated the exact amount of memory they need, the Unit union has lost its purpose. Remove it. "Unit" is a more natural name for the base unit class than "Meta", so rename Meta to Unit. Access to members of the base class gets simplified.
2012-01-16unit: reduce heap usage for unit objectsMichal Schmidt
The storage of the unit objects on the heap is currently not very efficient. For every unit object we allocate a chunk of memory as large as the biggest unit type, although there are significant differences in the units' real requirements. pahole shows the following sizes of structs: 488 Target 496 Snapshot 512 Device 528 Path 560 Timer 576 Automount 1080 Socket 1160 Swap 1168 Service 1280 Mount Usually there aren't many targets or snapshots in the system, but Device is one of the most common unit types and for every one we waste 1280 - 512 = 768 bytes. Fix it by allocating only the right amount for the given unit type. On my machine (x86_64, with 39 LVM volumes) this decreases systemd's USS (unique set size) by more than 300 KB.
2012-01-14mount: fix quotaMichal Schmidt
quotacheck.service and quotaon.service were not pulled in for fstab mounts. Fix it by not clearing the default_dependencies flag. The root filesystem may have quotas too, so don't check for "/" there. No need to have duplicate code for adding dependencies on umount.target. https://bugzilla.redhat.com/show_bug.cgi?id=773431
2012-01-06unit: properly update references to units which are mergedLennart Poettering
When we merge units that some kind of object points to, those pointers might become invalidated, and needs to be updated. Introduce a UnitRef struct which links up all the unit references, to ensure corrected references. At the same time, drop configured_sockets in the Service object, and replace it by proper UNIT_TRIGGERS resp. UNIT_TRIGGERED_BY dependencies, which allow us to simplify a lot of code.
2011-11-19let mount and swap units log to the configured defaultsMichal Schmidt
Related-to: https://bugzilla.redhat.com/show_bug.cgi?id=750032
2011-11-01mount: order remote mounts after both network.target and remote-fs-pre.targetLennart Poettering
Since remote-fs-pre.target is optional we cannot count on it to order remote mounts after network.target, so let's add that order explicitly in addition to remote-fs-pre.target. https://bugzilla.redhat.com/show_bug.cgi?id=749940
2011-10-11units: introduce local-fs-pre.target and remote-fs-pre.targetLennart Poettering
This hook target enables services to order themselves between network.target and remote mounts, which is needed for GFS2 and similar systems.
2011-09-21mount: pull in quota tools from fstab lines with 'quota' option, tooLennart Poettering
https://bugzilla.redhat.com/show_bug.cgi?id=736360
2011-08-31mount: fix parsing of prio valueLennart Poettering
https://bugzilla.redhat.com/show_bug.cgi?id=722803
2011-08-20exec: optionally apply cgroup attributes to the cgroups we createLennart Poettering
2011-08-01load-fragment: speed up parsing by using a perfect hash table with ↵Lennart Poettering
configuration settings built by gperf
2011-07-13unit: use ESRCH as error when we don't find anybody to killLennart Poettering
2011-07-12service: properly handle who argument on D-Bus kill callsLennart Poettering
2011-06-21english: s/_per_/_by_/Lennart Poettering
2011-05-18exec: hangup/reset/deallocate VTs in gettysLennart Poettering
Explicitly disconnect all clients from a VT when a getty starts/finishes (requires TIOCVHANGUP, available in 2.6.29). Explicitly deallocate getty VTs in order to flush scrollback buffer. Explicitly reset terminals to a defined state before spawning getty.
2011-04-20mount,crypto: rework meaning of noauto/nofailLennart Poettering
2011-04-19mount: properly parse timeouts options in the middle of the stringLennart Poettering
2011-04-16mount: make device timeout configurableLennart Poettering
2011-04-16manager: introduce IgnoreOnIsolate flag so that we can keep systemd-logger ↵Lennart Poettering
around when isolating
2011-04-13mount: don't pull in stdio logger for root mount unitLennart Poettering
2011-04-05mount: block creation of mount units for API file systemsLennart Poettering
2011-03-31src: our lord is coverityLennart Poettering
2011-03-30quota: do not pull in quota tools for mounts that do not originate in ↵Lennart Poettering
neither /etc/fstab nor fragment files
2011-03-29exec: drop process group kill mode since it has little use and confuses the userLennart Poettering
2011-03-28use /run instead of /dev/.runKay Sievers
Instead of the /dev/.run trick we have currently implemented, we decided to move the early-boot runtime dir to /run. An existing /var/run directory is bind-mounted to /run. If /var/run is already a symlink, no action is taken. An existing /var/lock directory is bind-mounted to /run/lock. If /var/lock is already a symlink, no action is taken. To implement the directory vs. symlink logic, we have a: ConditionPathIsDirectory= now, which is used in the mount units. Skipped mount unit in case of symlink: $ systemctl status var-run.mount var-run.mount - Runtime Directory Loaded: loaded (/lib/systemd/system/var-run.mount) Active: inactive (dead) start condition failed at Fri, 25 Mar 2011 04:51:41 +0100; 6min ago Where: /var/run What: /run CGroup: name=systemd:/system/var-run.mount The systemd rpm needs to make sure to add something like: %pre mkdir -p -m0755 /run >/dev/null 2>&1 || : or it needs to be added to filesystem.rpm. Udev -git already uses /run if that exists, and is writable at bootup. Otherwise it falls back to the current /dev/.udev. Dracut and plymouth need to be adopted to switch from /dev/.run to run too. Cheers, Kay
2011-03-18mount: pull in quota services from local mountpoints with usr/grpquota optionsAndrey Borzenkov
2011-03-17def: centralize definition of default timeout in one placeLennart Poettering
2011-03-08mount: support less cumbersome x-systemd-xxx mount optionsLennart Poettering
2011-03-03kill: always send SIGCONT after SIGTERMLennart Poettering
When we kill a process to terminate it make sure to send SIGCONT to ensure it is unpaused and processes the signal.
2011-02-21mount: make sure network mounts are ordered after network.targetLennart Poettering
2011-02-15mount,swap: properly add dependencies to logger if neededLennart Poettering
2011-02-15exec: introduce global defaults for the standard output of servicesLennart Poettering
2011-01-21mount: ignore if an fsck is requested for a bind mount, so that we don't ↵Lennart Poettering
wait for the bind 'device' to show up
2011-01-21automount: fix segfault when shutting downLennart Poettering
https://bugs.freedesktop.org/show_bug.cgi?id=32076
2011-01-20systemctl: highlight failed processes in systemctl statusLennart Poettering
2011-01-20service: when reloading a service fails don't fail the entire service but ↵Lennart Poettering
just the reload job
2011-01-18execute: make sending of SIGKILL on shutdown optionalLennart Poettering
2010-11-17cgroup: by default, duplicate service cgroup in the cpu hierarchyLennart Poettering
2010-11-11split mount_point_is_api() and mount_point_ignore()Kay Sievers
We should not handle the ignore list as API mounts, as systemd itself never touches them. On Thu, Nov 11, 2010 at 10:34, Andreas Jaeger <aj@novell.com> wrote: > > I noticed for some time that systemd-remount-api-vfs is in the > failed state and found now the following in the log files > > systemd-remount-api-vfs[467]: /bin/mount for /proc/bus/usb exited with exit status 32. > systemd-remount-api-vfs[467]: mount: /proc/bus/usb not mounted already, or bad option > systemd[1]: systemd-remount-api-vfs.service: main process exited, code=exited, status=1 > systemd[1]: Unit systemd-remount-api-vfs.service entered failed state.
2010-11-10cryptsetup: minimal cryptsetup unit generatorLennart Poettering
2010-10-29mount: don't pull in nofail mounts by default, but use them if they are aroundLennart Poettering
2010-10-29unit: get rid of gnoreDependencyFailure= instead treat ConflictedBy= as ↵Lennart Poettering
weaker counterpart of Conflicts=, similar to Wants= vs. Requires=
2010-10-29unit: replace StopRetroactively= by BindTo= dependenciesLennart Poettering
The property StopRetroactively= needs to be per-dependency, not per-unit, in order to properly express dependencies between .mount units and its .device and fsck .service units. If the .device unit is unplugged the mount should go away, but if the fsck process terminates the .mount should stay.
2010-10-28unit: replace recursive_stop by stop_retroactively to simplify things a littleLennart Poettering
2010-10-26swap: add only swaps listed in /etc/fstab automatically to swap.target, ↵Lennart Poettering
others should be added via .wants/ links
2010-10-22systemctl: introduce systemctl killLennart Poettering
2010-10-20mount: pull in quotacheck.service, not quotacheck.targetLennart Poettering