1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-03-08 20:58:20 +03:00

2353 Commits

Author SHA1 Message Date
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
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
Sven Anders
771faa9ae6 fix typo in src/shared/install.c 2012-04-19 12:03:28 +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
018ef268b1 silence a bunch of gcc warnings 2012-04-17 18:42:09 +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
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
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
Lennart Poettering
888c710235 util: introduce memdup() 2012-04-16 18:59:08 +02:00
Lennart Poettering
c3175a7f40 cgls: don't show empty cgroups by default 2012-04-16 18:59:08 +02:00
Lennart Poettering
c7b5eb98e8 logind: hook up inhibit logic with idle hint logic 2012-04-16 18:59:08 +02:00
Lennart Poettering
f8e2fb7b14 logind: add shutdown/suspend/idle inhibition framework 2012-04-16 18:59:08 +02:00
Lennart Poettering
9156e799a2 manager: remove unavailable/redundant entries from default controllers list 2012-04-16 18:59:07 +02:00
Lennart Poettering
3474ae3c7e cgroup: if a controller is not available don't try to create cgroups in its hierarchy 2012-04-16 18:59:07 +02:00
Kay Sievers
80172751b7 udev: udev_monitor_new_from_socket() - log error and remove from public header 2012-04-15 18:52:42 +02:00
Kay Sievers
378f2e074e udev: update some rules 2012-04-15 16:09:12 +02:00
Kay Sievers
194bbe3338 udev: cleanup the udev cgroup when the daemon enters the idle state 2012-04-15 03:11:08 +02:00
Kay Sievers
20d83f2f43 udev: move all unconditionally installed rules to rules/ 2012-04-14 20:10:03 +02:00
Kay Sievers
8ea5c07b1c udev: keymap - move src/udev/force-release-maps/ to keymaps-force-release/ 2012-04-14 19:53:31 +02:00
Kay Sievers
0b87a07761 udev: test - move test/ and src/test/ 2012-04-14 19:36:47 +02:00
Lennart Poettering
ecedd90fcd service: place control command in subcgroup control/
Previously, we were brutally and onconditionally killing all processes
in a service's cgroup before starting the service anew, in order to
ensure that StartPre lines cannot be misused to spawn long-running
processes.

On logind-less systems this has the effect that restarting sshd
necessarily calls all active ssh sessions, which is usually not
desirable.

With this patch control processes for a service are placed in a
sub-cgroup called "control/". When starting a service anew we simply
kill this cgroup, but not the main cgroup, in order to avoid killing any
long-running non-control processes from previous runs.

https://bugzilla.redhat.com/show_bug.cgi?id=805942
2012-04-13 23:29:59 +02:00
Kay Sievers
3b6d9a7c50 update .gitignore 2012-04-13 21:58:01 +02:00
Lennart Poettering
8aec53fb90 polkit: spawn agent in --fallback mode 2012-04-13 21:52:42 +02:00
Kay Sievers
5f86ae4385 update .gitignore 2012-04-13 21:49:25 +02:00
Lennart Poettering
b562f5a57d build-sys: add stub makefiles to all subdirs to ease development with emacs 2012-04-13 21:37:59 +02:00
Lennart Poettering
9537eab070 nspawn: add missing include lines 2012-04-13 21:37:59 +02:00
Lennart Poettering
c757a65b6a watchdog: make watchdog dbus properties writable 2012-04-13 21:37:59 +02:00
Lennart Poettering
d4e7373bbb dbus: automatically send out changed events for properties written to 2012-04-13 21:37:59 +02:00
Kay Sievers
5e947e88d4 udev: gudev - silence introspection scanner warning
<kay> walters: you happen to know how to silence this? gudev.h:24: Warning:
  GUdev: symbol='_GUDEV_INSIDE_GUDEV_H': Unknown namespace for symbol 'GUDEV_INSIDE_GUDEV_H'
<walters> kay, probably:
<walters> -#define _GUDEV_INSIDE_GUDEV_H 1
<walters> +#define _GUDEV_INSIDE_GUDEV_H
<walters> kay, if the scanner sees a define with a value it assumes it's a constant for public consumption

<walters> kay, patch in https://bugzilla.gnome.org/show_bug.cgi?id=674072 fwiw
<kay> walters: cool, thanks!
<kay> walters: your workaround removing the "1" works. nice!
2012-04-13 21:35:45 +02:00