Commit Graph
13179 Commits
Author SHA1 Message Date
Daniel Mack 3f61a7a6eb logind: drop unused argument from method_do_shutdown_or_sleep() 2015-04-24 17:48:12 +02:00
Lennart Poettering 47bc12e1ba unit: don't add automatic dependencies on device units if they aren't supported
http://lists.freedesktop.org/archives/systemd-devel/2015-April/031187.html
2015-04-24 17:28:31 +02:00
Lennart Poettering 007c6337c6 manager: don't fail fatally if we cannot coldplug a unit
It's better to continue as good as we can, than to totally fail. Hence,
let's log about the failure and continue.
2015-04-24 16:14:46 +02:00
Lennart Poettering f78f265f40 core: always coldplug units that are triggered by other units before those
Let's make sure that we don't enqueue triggering jobs for units before
those units are actually fully loaded.

http://lists.freedesktop.org/archives/systemd-devel/2015-April/031176.html
https://bugs.freedesktop.org/show_bug.cgi?id=88401
2015-04-24 16:14:46 +02:00
Daniel Mack 0108f6ecc8 core: return 0 from device_serialize()
Fixes:

  CC       src/core/libsystemd_core_la-device.lo
src/core/device.c: In function 'device_serialize':
src/core/device.c:169:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
2015-04-24 16:14:48 +02:00
Lennart Poettering be847e82cf Revert "core: do not spawn jobs or touch other units during coldplugging"
This reverts commit 6e392c9c45.

We really shouldn't invent external state keeping hashmaps, if we can
keep this state in the units themselves.
2015-04-24 15:51:10 +02:00
Lennart Poettering f62009410a device: rework how we enter tentative state
This reworks how we enter tentative state and does so only when a device
was previously not announced via udev. The previous check actually just
checked whether a new state bit was set, which is not correct.

Also, to be able to reliably maintain the tentative state across daemon
reloads, we need to serialize and deserialize it.
2015-04-24 12:29:05 +02:00
Lennart Poettering f06db33455 service: improve readability, by reducing line-breaks 2015-04-24 12:25:59 +02:00
Zbigniew Jędrzejewski-Szmek 8bb3626dac journal: use audit event names instead of numbers
<audit-1400> is replaced by AVC, etc.

A fallback mechanism is provided for unlisted event types.
Occasionally new types are added to the kernel, but not too often.

Add a simple "test", which simply prints the mapping.
2015-04-23 23:54:21 -04:00
Zbigniew Jędrzejewski-Szmek 4733607eec journal: add int↔audit type name mapping 2015-04-23 23:54:21 -04:00
Tom Gundersen 107f2e2526 udevd: fix REMOVE handling
This reverts b67f944. Lazy loading of device properties does not work for devices
that are received over netlink, as these are sealed. Reinstate the unconditional
loading of the device db.

Reported by: Mantas Mikulėnas <grawity@gmail.com>.
2015-04-23 22:31:25 +02:00
Tom Gundersen 353f605867 udev: event - update tags before writing out db
The old tags are read from the db when deciding which tags to clear,
make sure we don't write out the new db before the old one has been
read.
2015-04-23 22:31:25 +02:00
Tom Gundersen 378f61ebef libudev-device: fix lazy loading of devlinks, properties and tags
If the underlying device has not read in the properties yet, the generation will be 0, so
make sure we trigger the reading at least once.
2015-04-23 22:31:25 +02:00
Lennart Poettering 4761e880ae sd-bus: add controlling tty field to sd_creds object
This is useful to print wall messages from logind with the right client
tty. (to be added in a later patch)
2015-04-23 19:43:40 +02:00
Lennart Poettering 33c62dcbd7 sd-bus: when bus operations are to be executed on direct connections always fail
Also, don't consider this an loggable event, so that code that tries to
read creds from a direct connection, doesn't generate logs.
2015-04-23 16:23:15 +02:00
Lennart Poettering 8d9803b83c core: fix parsing of mount flags
As reported my Maciej Wereski:

http://lists.freedesktop.org/archives/systemd-devel/2015-February/028320.html
2015-04-23 16:21:38 +02:00
Lennart Poettering 5259bcf6a6 core: downgrade warning about duplicate device names
http://lists.freedesktop.org/archives/systemd-devel/2015-April/031094.html
2015-04-23 13:50:01 +02:00
Lennart Poettering 038f9863e2 sd-bus: don't inherit connection creds into message creds when we have a direct connection
It's never a good idea, let's just not do it, not even on dierct
connections.
2015-04-23 13:40:54 +02:00
Lennart Poettering 3f72b427b4 path-util: make use of "mnt_id" field exported in /proc/self/fdinfo/<fd> to test for mount points
It's a very recent kernel addition, but certainly makes sense to
support.
2015-04-23 13:40:54 +02:00
Martin Pitt 470dca63cd util: Fix assertion in split() on missing '
When parsing a unit with a trailing slash after an escaped line break, like

  ExecStart=/bin/echo 'foo \
    bar'

the split() function (through config_parse()) asserted and crashed pid 1:

  Assertion 'current[*l + 1] == quotechars[0]' failed at ../src/shared/util.c:583, function split(). Aborting.

Fix this by returning an error in this case ("trailing garbage").

Add corresponding test case. Also fix the missing "unit" argument of
config_parse_exec() in the comment.

https://launchpad.net/bugs/1447243
2015-04-23 01:14:07 +02:00
Lennart Poettering 0674bbea9c core: explicitly specify credentials for direct connections, too
So far we authenticate direct connections primarily at connection time,
but let's also do this for each method individually, by attaching the
creds we need for that right away.
2015-04-23 00:37:47 +02:00
Lennart Poettering e346512c68 journalctl: rework code that checks whether we have access to /var/log/journal
- fix some memory leaks on error conditions

- handle all error cases properly, and log about failures

- move HAVE_ACL and no-HAVE_ACL code closer to each other
2015-04-22 22:56:24 +02:00
Nir Soffer 7375b3c487 udev: Fix ping timeout when settle timeout is 0
When running udevadm settle --timeout=0, the ping always times out, and
udevadm will return 0 without checking the queue state.

(David: Use a reasonable timeout to still get the barrier provided by
 ctrl-ping)
2015-04-22 19:16:58 +02:00
Lennart Poettering ef43a39176 tmpfiles: use an ordered hashmap for the tmpfiles items
We should try to execute them in the same order they appear in the
configuration files, as it is documented. Hence move to an ordered
hashmap.

(Note though, that this still doesn't execute them completely in order:
we will still apply non-glob lines before glob-lines, and reorder lines
prefixing each other and that apply to the same paths).

http://lists.freedesktop.org/archives/systemd-devel/2015-March/029055.html
2015-04-22 18:20:27 +02:00
Lennart Poettering 3986b2581c btrfs-util: support recursive removal of read-only subvolumes
When deleting a read-only subsvolume with a sub-subvolume, we need to
mark it writable first, otherwise the removal will not work.
2015-04-22 17:09:20 +02:00
Lennart Poettering aee327b816 nspawn: don't inherit read-only flag from disk image if --ephemeral is used
When --ephemeral is used there's no need to keep the image read-only, so
let's not do that then.
2015-04-22 16:56:51 +02:00
Lennart Poettering ffb296b2c2 btrfs-util: fix creating recursive read-only snapshots
When creating recursive read-only snapshots we need to mark the snapshot
writable immediately before creating subsnapshots within it, otherwise
the operation for it will fail.
2015-04-22 16:52:53 +02:00
Lennart Poettering 1d3087978a kmod-setup: load ip_tables kmod at boot
The module is currently no auto-loadable (and this is unlikely to change
anytime soon, given it's API is via getsockopt/setsockopt). It is needed
by networkd and nspawn currently.

Users who really don't like the module to be loaded have the option to
blacklist it still, or not compile it at all. But for all others this
should make things work out-of-the-box.
2015-04-22 13:50:56 +02:00
Lennart Poettering 3a69881704 sd-bus: handle ppid=0 more gracefully (which happens for pid=1) 2015-04-22 13:27:53 +02:00
Lennart Poettering fc68c92973 journal: don't force FS_NOCOW_FL on new journal files, but warn if it is missing
This way users have the freedom to set or unset the FS_NOCOW_FL flag on
their journal files by setting it on the journal directory. Since our
default tmpfiles configuration now sets this flag on the directory the
flag is set by default on new files, however people can opt-out of this
by masking the tmpfiles file for it.
2015-04-22 13:27:53 +02:00
Lennart Poettering 625728941d btrfs-util: be more careful when invoking btrfs file system ioctls
If we get passed an fd that does not refer to a regular file or
directory, we should not issue btrfs ioctls on it, since it might end up
in a device driver or similar (note that DRM for example uses the same
ioctl numbers as some file system ioctls).

Hence, let's make sure to always check if something is a regular file or
directory, or is on btrfs before invoking the respective ioctls. It's
better to be safe than sorry.
2015-04-22 13:27:53 +02:00
Lennart Poettering 21222ea5cd btrfs-util: introduce btrfs_is_filesystem() and make use of it where appropriate
Let's unify the code that checks whether an fd is on btrfs a bit.

(Also, rename btrfs_is_snapshot() to btrfs_is_subvol(), since that's
usually how this is referred to in our code)
2015-04-22 13:27:53 +02:00
Lennart Poettering 03091baac3 util: make sure fd refers to regular file or directory when applying file attributes
Before invoking file system ioctls we need to make sure that the
specified fd actually refers to a file system object, and not a device
node or similar. Otherwise we might by accident invoke unrelated device
driver ioctls. For example, DRM ioctls use the same ioctl numbers as the
various file system ioctls.
2015-04-22 13:27:53 +02:00
Kay Sievers 163ab29612 efi-boot-generator: set automount expire for /boot
This should make the Linux vfat handling less fragile, by unmounting
the idle mount and causing to sync the entire file system to disk.

On my machines, The FAT file system at /boot regularly gets corrupted
with unclean shutdowns, rendering the machines unbootable. Either the
VFS write-back behaviour or the vfat driver itself is just not reliable
enough to be/stay mounted at every bootup.

Because of that, the automount expiry was on top of my personal
wish list. Thanks a lot Michael!
2015-04-22 00:57:52 +02:00
Thomas Hindoe Paaboel Andersen 8d04b9af96 automount: remove unused variable 2015-04-21 22:40:10 +02:00
Lennart Poettering 1386e47db5 sd-bus: expose ppid field
kdbus has been passing us the ppid file for a while, actually make use
of it.
2015-04-21 20:58:09 +02:00
Lennart Poettering 3bd3150367 build-sys: move systemd.pc from pkgconfiglibdir back into pkgconfigdatadir
The original idea of systemd.pc was to contain arch-independent system
and systemd information. By exposing libdir as part of the fields (added
in eb39a6239c), it started to carry
arch-dependent data, thus breaking multilib systems. It was then moved
to pkgconfiglibdir to deal with this (in
aec432c613), but actually the right
approach is to simply not include libdir in the .pc file at all.

THis patch hence more or less reverts both commits again, and moves the
.pc file back into pkgconfigdatadir.

As alternative for querying the systems primary libdir there's now
"systemd-path system-library-arch", hence a more correct alternative
exists for querying this variable from the .pc file.
2015-04-21 20:35:17 +02:00
Lennart Poettering e911de996a core: make unit deserialization more defensive 2015-04-21 20:23:41 +02:00
Lennart Poettering f34beace37 automount: various smaller fixes 2015-04-21 20:23:41 +02:00
Michael Olbrich deb0a77cf0 automount: add expire support 2015-04-21 20:23:41 +02:00
Ronny Chevalier ca909b8469 test: test-path and test-execute only need units in test/ 2015-04-21 19:27:59 +02:00
Lennart Poettering 1509fb87c0 random-seed: minor cleanups, in particular when it comes to logging 2015-04-21 18:08:09 +02:00
Lennart Poettering 10a8700606 tree-wide: get rid of more strerror() calls 2015-04-21 18:05:44 +02:00
Lennart Poettering 8519d8f58e networkd-fdb: indentation/whitespace fixes 2015-04-21 17:43:55 +02:00
Lennart Poettering 6a7a4e4d0a networkd: improve how networkd logs things
This makes adds a couple of fixes:

- Introduces log_netdev_error_errno() and friends, which takes an error
  number, and matches what log_link_error_errno() and friends do.

- Replaces a lof ot strerror() usage with log_netdev_error_errno(),
  log_link_error_errno() and log_erro_errno()

- Uppercases the first character of many log messages, after all this is
  supposed to be english language

- Drops manual negating of error codes before passing them to log
  functions, the log functions all do that internally anyway.

Some other minor fixes.

Behaviour should not change really.
2015-04-21 17:43:55 +02:00
Lennart Poettering 158350e869 log: move log_syntax() into src/shared/log.c, and make it more similar to the other log functions 2015-04-21 17:43:55 +02:00
Lennart Poettering 200c7fa6fe udevadm: enclose invocation of unlinkat() with a (void) cast
Let's make Coverity happy about this one.
2015-04-21 17:43:55 +02:00
Tom Gundersen 52d629010d sd-device: set_syspath - return ENODEV when passed something that is not a device 2015-04-21 14:41:13 +02:00
Susant Sahani 38422da754 networkd man: fix man and config name.
Rename bond confs and man as well.

[tomegun: dropped a stray comma]
2015-04-21 11:17:37 +02:00
Hans de Goede 5defbb5ff6 udev: keyboard-builtin: Add support for setting IBM trackpoint sensitivity
IBM / Lenovo trackpoints allow specifying a sensitivity setting through a
ps/2 command, which changes the range of the deltas sent when using the
trackpoint.

On some models with normal usage only deltas of 1 or 2 are send, resulting in
there only being 2 mouse cursor movement speeds, rather than the expected fluid
scale. Changing the sensitivity to a higher level than the bootup default fixes
this.

This commit adds support for setting a POINTINGSTICK_SENSITIVITY value
in hwdb to allow changing the sensitivity on boot through udev / hwdb.
2015-04-21 11:14:57 +10:00