Commit graph

8117 commits

Author SHA1 Message Date
Michal Schmidt 38809d9dfe transaction: avoid garbage collecting the anchor job
Make sure the anchor job is never considered garbage, even if it has no links
leading to it (this will be allowed in the next patch).
2012-04-20 17:12:28 +02:00
Michal Schmidt 0d9989aa68 transaction: simplify transaction_find_jobs_that_matter_to_anchor() 2012-04-20 17:12:28 +02:00
Michal Schmidt 4483f69498 transaction: change the linking of isolate jobs to the anchor
When isolating, the JOB_STOP jobs have no parent job, so they are all peers
of the real anchor job. This is a bit odd.

Link them from the anchor job.
2012-04-20 17:12:28 +02:00
Michal Schmidt b94fbd3078 transaction: maintain anchor_job
Track which job is the anchor in the transaction.
2012-04-20 17:12:28 +02:00
Michal Schmidt 3c956cfee2 transaction: do not add installed jobs to the transaction
Do not attempt to optimize away the job creation by refering to installed jobs.
We do not want to disturb installed jobs until commiting the transaction.

(A later patch to job merging will make the separation of transaction jobs and
installed jobs complete.)
2012-04-20 17:12:28 +02:00
Michal Schmidt 1da4264fbd job: jobs shouldn't need to know about transaction anchors
Let the transactions maintain their own anchor links.
2012-04-20 17:12:28 +02:00
Michal Schmidt 668ad332a4 job: job_new() can find the manager from the unit 2012-04-20 17:12:27 +02:00
Michal Schmidt 75778e21df manager: split transaction.[ch]
manager.c takes care of the main loop, unit management, signal handling, ...
transaction.c computes transactions.

After split:
manager.c:     65 KB
transaction.c: 40 KB
2012-04-20 17:12:27 +02:00
Michal Schmidt 7527cb5275 manager: Transaction as an object
This makes it obvious that transactions are short-lived. They are created in
manager_add_job() and destroyed after the application of jobs.
It also prepares for a split of the transaction code to a new source.
2012-04-20 17:12:27 +02:00
Michal Schmidt 97e7d748d1 job: job_uninstall()
Split the uninstallation of the job from job_free() into a separate function.
Adjust the callers.

job_free() now only works on unlinked and uninstalled jobs. This enforces clear
thinking about job lifetimes.
2012-04-20 17:12:27 +02:00
Michal Schmidt 121b3b3180 manager: simplify transaction_abort()
This is equivalent.
2012-04-20 17:12:27 +02:00
Michal Schmidt 02a3bcc6b4 job: allow job_free() only on already unlinked jobs
job_free() is IMO too helpful when it unlinks the job from the transaction.
The callers should ensure the job is already unlinked before freeing.
The added assertions check if anyone gets it wrong.
2012-04-20 17:12:27 +02:00
Michal Schmidt 153bda8f03 manager: fix comment 2012-04-20 17:12:27 +02:00
Michal Schmidt a48f3d1566 tmpfiles: fix error message 2012-04-20 17:12:27 +02:00
Kay Sievers cc85759ac9 docs: remove duplicated install hook 2012-04-20 12:40:15 +02:00
Lennart Poettering 678d485a55 log: fix LOG_TARGET_JOURNAL_OR_KMSG 2012-04-20 12:40:02 +02:00
Lennart Poettering 71f737d2de mount-setup: don't log with LOG_ERROR if a mount that doesn't matter fails 2012-04-20 12:40:02 +02:00
Lennart Poettering a0a3844815 main: log to the journal in container mode, by default 2012-04-20 12:40:01 +02:00
Kay Sievers 21dbe43aec docs: hook-up gtk-doc to 'make check' 2012-04-20 03:25:36 +02:00
Kay Sievers 80037e4d17 docs: rebase html documentation for online and local use 2012-04-19 19:00:35 +02:00
Javier Jardón 9e45e7d8f0 docs: do not generate tmpl files
Its not needed as all the documentation is inline source code,
not in separate *.tmpl files
2012-04-19 16:21:09 +02:00
Sven Anders 771faa9ae6 fix typo in src/shared/install.c 2012-04-19 12:03:28 +02:00
Kay Sievers ebcd5d3acd update TODO 2012-04-18 20:31:16 +02:00
Kay Sievers 180bd81280 udev: units - reference systemd-* units 2012-04-18 16:29:43 +02:00
Kay Sievers 88f642c00b build-sys: move dev-setup to label.la 2012-04-18 16:13:37 +02:00
Kay Sievers 4d46fec56d remove MS_* which can not be combined with current kernel code
MS_BIND|MS_MOVE can not be combined:
  do_mount()
    else if (flags & MS_BIND)
      do_loopback(&path, dev_name, flags & MS_REC);
    [...]
    else if (flags & MS_MOVE)
      do_move_mount(&path, dev_name);

MS_REMOUNT|MS_UNBINDABLE can not be combined:
  do_mount()
    if (flags & MS_REMOUNT)
      do_remount(&path, flags & ~MS_REMOUNT, mnt_flags, data_page);
    [...]
    else if (flags & (MS_SHARED | MS_PRIVATE | MS_SLAVE | MS_UNBINDABLE))
      do_change_type(&path, flags);
2012-04-18 13:37:45 +02:00
Kay Sievers 5ba2dc259f udev: unify /dev static symlink setup 2012-04-17 22:31:38 +02:00
Kay Sievers 1e8ebcdb59 udev: docs - updated index page to match common gtk style 2012-04-17 19:02:23 +02:00
Kay Sievers 20ffc4c4a9 update TODO 2012-04-17 18:47:49 +02:00
Kay Sievers 018ef268b1 silence a bunch of gcc warnings 2012-04-17 18:42:09 +02:00
Kay Sievers 80a5cbace4 build-sys: silence gtk-doc check, remove gtk-doc options from configure and distcheck 2012-04-17 17:11:02 +02:00
Javier Jardón 92ec4495f7 build-sys: make gtk-doc dependency optional 2012-04-17 17:01:21 +02:00
Kay Sievers 512dabcdc6 update TODO 2012-04-17 16:54:45 +02:00
Kay Sievers e9a5ef7cdd selinux: unify systemd and udev code 2012-04-17 16:05:28 +02:00
Kay Sievers 75e37ac5b1 mkdir: do not use alloca() in a loop 2012-04-17 16:05:28 +02:00
Lennart Poettering acf9b2f154 update .gitignore 2012-04-17 16:04:42 +02:00
Javier Jardón a80db8bd5f configure.ac: Use a auxiliar directory to store autogenerated files 2012-04-17 16:02:36 +02:00
Javier Jardón 4e949c11a1 configure.ac: Use the new autoconf field to set the project webpage 2012-04-17 16:01:08 +02:00
Lennart Poettering 25016cb67f update TODO 2012-04-17 15:36:03 +02:00
Michael Biebl dc786b29c3 man: Fix a few typos
Reported-by: A. Costa <agcosta@gis.net>
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=668344
2012-04-17 14:37:18 +02:00
Tollef Fog Heen 91cf7e5c37 Fix typo 2012-04-17 09:47:23 +02:00
Kay Sievers 7c66aeba0f update TODO 2012-04-17 02:55:39 +02:00
Kay Sievers 3b49d09a3d udev: kill udev_selinux_setfscreateconat() 2012-04-17 02:20:32 +02:00
Kay Sievers 9e13dbae50 udev: replace util_create_path() with mkdir_parents() 2012-04-17 01:09:39 +02:00
Kay Sievers f13b388f97 udev: install udevd as /usr/lib/systemd/systemd-udevd 2012-04-17 00:18:30 +02:00
Kay Sievers 33502ffe2e udev: use startswith() and streq() 2012-04-16 20:54:17 +02:00
Kay Sievers 6ada823a9a udev: remove configuration options for /dev, /sys, /run directories 2012-04-16 19:20:57 +02:00
Kay Sievers 8fef0ff25c udev: replace ARRAY_SIZE() with ELEMENTSOF() 2012-04-16 19:20:57 +02:00
Lennart Poettering b59e246565 logind: remove redundant entries from logind's default controller lists too 2012-04-16 19:15:00 +02:00
Lennart Poettering b69d29ce04 systemctl: show main and control PID explicitly in cgroup-show
In some cases the main/control PID of a service can be outside of the
services cgroups (for example, if logind readjusts the processes'
cgroup). In order to clarify this for the user show the main/control PID
in the cgroup tree nonetheless, but mark them specially.
2012-04-16 18:59:40 +02:00