platform/upstream/systemd.git
9 years agopo: update French translation
Sylvain Plantefève [Tue, 7 Apr 2015 22:40:33 +0000 (00:40 +0200)]
po: update French translation

Add strings introduced by 5bdf22430e367799dfa66c724144b624c5479518

9 years agoremove duplicated includes
Ronny Chevalier [Tue, 7 Apr 2015 23:15:32 +0000 (01:15 +0200)]
remove duplicated includes

9 years agotimedatectl: trim --help output to 80 chars
Ronny Chevalier [Tue, 7 Apr 2015 23:09:11 +0000 (01:09 +0200)]
timedatectl: trim --help output to 80 chars

9 years agozsh-completion: update hostnamectl
Ronny Chevalier [Tue, 7 Apr 2015 18:14:28 +0000 (20:14 +0200)]
zsh-completion: update hostnamectl

9 years agozsh-completion: add missing -M completion for journalctl
Ronny Chevalier [Tue, 7 Apr 2015 17:35:57 +0000 (19:35 +0200)]
zsh-completion: add missing -M completion for journalctl

9 years agozsh-completion: update loginctl
Ronny Chevalier [Tue, 7 Apr 2015 17:35:13 +0000 (19:35 +0200)]
zsh-completion: update loginctl

9 years agotest-socket-util: add test for in_addr_to_string
Ronny Chevalier [Mon, 16 Mar 2015 19:24:39 +0000 (20:24 +0100)]
test-socket-util: add test for in_addr_to_string

9 years agoconfigure: sign-compare is part of extra
Thomas Hindoe Paaboel Andersen [Sat, 21 Mar 2015 20:08:00 +0000 (21:08 +0100)]
configure: sign-compare is part of extra

Remove sign-compare as we already get it from extra

9 years agodevice: remove unused null check
Thomas Hindoe Paaboel Andersen [Tue, 7 Apr 2015 17:34:40 +0000 (19:34 +0200)]
device: remove unused null check

We dereference the variable right before the null check. We never reach
this point with a null value anyway so let's just remove it.

9 years agologind: drop "interactive" parameter from SetRebootToFirmwareSetup() bus call
Lennart Poettering [Tue, 7 Apr 2015 19:08:07 +0000 (21:08 +0200)]
logind: drop "interactive" parameter from SetRebootToFirmwareSetup() bus call

Newer dbus versions have an "allow interactive authentication" bit in
the message header, hence it is not necessary to take a boolean for this
explicitly.

9 years agoupdate TODO
Lennart Poettering [Tue, 7 Apr 2015 19:07:54 +0000 (21:07 +0200)]
update TODO

9 years agomissing.h: define IFA_FLAGS if it is missing
Lennart Poettering [Tue, 7 Apr 2015 19:07:19 +0000 (21:07 +0200)]
missing.h: define IFA_FLAGS if it is missing

9 years agotest-util: don't mix declarations and code
Thomas Hindoe Paaboel Andersen [Tue, 7 Apr 2015 18:28:27 +0000 (20:28 +0200)]
test-util: don't mix declarations and code

9 years agoupdate TODO
Lennart Poettering [Tue, 7 Apr 2015 16:47:47 +0000 (18:47 +0200)]
update TODO

9 years agosocket: minor modernizations
Lennart Poettering [Tue, 7 Apr 2015 16:47:35 +0000 (18:47 +0200)]
socket: minor modernizations

9 years agologind,systemctl: add reboot to EFI firmware support
Jan Janssen [Fri, 3 Apr 2015 16:03:06 +0000 (18:03 +0200)]
logind,systemctl: add reboot to EFI firmware support

9 years agoupdate TODO
Lennart Poettering [Tue, 7 Apr 2015 15:25:26 +0000 (17:25 +0200)]
update TODO

9 years agoman: fix typos in machinectl
Richard Maw [Tue, 7 Apr 2015 14:53:05 +0000 (15:53 +0100)]
man: fix typos in machinectl

The s/now/not/ unfortunately inverted the meaning.

9 years agoman: Resolve how to refer to derived names for machinectl containers
Richard Maw [Tue, 7 Apr 2015 14:53:04 +0000 (15:53 +0100)]
man: Resolve how to refer to derived names for machinectl containers

"the name it is" is clumsy english, and since the most recently referred
to thing was a name anyway we can just leave the "it is".

This matches later uses in the same document.

9 years agoupdate TODO
Lennart Poettering [Tue, 7 Apr 2015 14:45:09 +0000 (16:45 +0200)]
update TODO

9 years agotimedatectl: avoid specifically referring to NTP
Lennart Poettering [Tue, 7 Apr 2015 14:43:37 +0000 (16:43 +0200)]
timedatectl: avoid specifically referring to NTP

systemd-timesyncd not only does NTP, but also manages clock monotonicity
using a flags file. In future, it might learn PTP support. Hence don't
expose its enablement state as "NTP" but use the more generic term
"network time synchronization". After all, for similar reasons
systemd-timesyncd is not called systemd-ntpd.

9 years agoman: update timedatectl(1)'s examples
Lennart Poettering [Tue, 7 Apr 2015 14:29:21 +0000 (16:29 +0200)]
man: update timedatectl(1)'s examples

The output didn't match what we output these days. Also, "set-ntp"
cannot be used to control chronyd anymore.

9 years agoman: document in timedatectl(1) that the NTP state shown reflects whether timesyncd...
Lennart Poettering [Tue, 7 Apr 2015 14:23:16 +0000 (16:23 +0200)]
man: document in timedatectl(1) that the NTP state shown reflects whether timesyncd is enabled

9 years agopath-util: fix more path_is_mount e792e890f fallout
Lennart Poettering [Tue, 7 Apr 2015 14:03:45 +0000 (16:03 +0200)]
path-util: fix more path_is_mount e792e890f fallout

9 years agoupdate TODO
Lennart Poettering [Mon, 6 Apr 2015 18:28:37 +0000 (20:28 +0200)]
update TODO

9 years agoman: document default timeouts and start limit parameters
Lennart Poettering [Mon, 6 Apr 2015 18:34:11 +0000 (20:34 +0200)]
man: document default timeouts and start limit parameters

9 years agopolkit: rename bus_verify_polkit() to bus_test_polkit() and make it strictly non...
Lennart Poettering [Mon, 6 Apr 2015 18:25:56 +0000 (20:25 +0200)]
polkit: rename bus_verify_polkit() to bus_test_polkit() and make it strictly non-interactive

Interactive authorization should only happen asynchronously, hence
disallow it in synchronous bus_verify_polkit(), and rename it to
bus_test_polkit(). This way even if the bus message header asks for
interactive authorization, we'll ask for non-interactive authorization
which is actually the desired behaviour if CanSuspend, CanHibernate and
friends, which call this function.

9 years agoutil: rework cunescape(), improve error handling
Lennart Poettering [Mon, 6 Apr 2015 18:11:41 +0000 (20:11 +0200)]
util: rework cunescape(), improve error handling

Change cunescape() to return a normal error code, so that we can
distuingish OOM errors from parse errors.

This also adds a flags parameter to control whether "relaxed" or normal
parsing shall be done. If set no parse failures are generated, and the
only reason why cunescape() can fail is OOM.

9 years agocore: fix mount setup to work with non-existing mount points
David Herrmann [Tue, 7 Apr 2015 12:03:44 +0000 (14:03 +0200)]
core: fix mount setup to work with non-existing mount points

We must not fail on ENOENT. We properly create the mount-point in
mount-setup, so there's really no reason to skip the mount. Make sure we
just skip the mount on unexpected failures or if it's already mounted.

9 years agodevice: fix sysattr newline cutter
David Herrmann [Tue, 7 Apr 2015 11:11:18 +0000 (13:11 +0200)]
device: fix sysattr newline cutter

Right now, we always drop the last character of all values we write to
sysfs. Fix this!

9 years agoudev: input_id: tag accelerometers as ID_INPUT_ACCELEROMETER
Hans de Goede [Fri, 3 Apr 2015 10:07:32 +0000 (12:07 +0200)]
udev: input_id: tag accelerometers as ID_INPUT_ACCELEROMETER

input_id already (tries to) tag accelerometers as such, but this only works
for absolute accelerometers. Recent kernels mark accelerometers through an
input prop. Trust that prop and always tag devices with it with
ID_INPUT_ACCELEROMETER.

Note that detection by the prop bit works the same as the existing detection
and will ensure that no other tags get set on the device.

9 years agoudev: input_id: tag pointing sticks as ID_INPUT_POINTINGSTICK
Peter Hutterer [Thu, 26 Mar 2015 04:08:35 +0000 (14:08 +1000)]
udev: input_id: tag pointing sticks as ID_INPUT_POINTINGSTICK

Also referred to as trackpoint, trackstick. These are marked by recent kernels
through an input prop. Forward that prop as udev property so userspace can
easily determine whether there is a pointing stick present.

These devices were previously marked as ID_INPUT_MOUSE, for backwards
compatibility we keep that in place, the new property is an addition.

9 years agocore: mount-setup: handle non-existing mountpoints gracefully
Daniel Mack [Mon, 6 Apr 2015 22:44:15 +0000 (00:44 +0200)]
core: mount-setup: handle non-existing mountpoints gracefully

Commit e792e890f ("path-util: don't eat up ENOENT in
path_is_mount_point()") changed path_is_mount_point() so it doesn't hide
-ENOENT from its caller. This causes all boots to fail early in case
any of the mount points does not exist (for instance, when kdbus isn't
loaded, /sys/fs/kdbus is missing).

Fix this by returning 0 from mount_one() if path_is_mount_point()
returned -ENOENT.

9 years agobuild-sys: fix typo
Zbigniew Jędrzejewski-Szmek [Mon, 6 Apr 2015 19:44:30 +0000 (15:44 -0400)]
build-sys: fix typo

9 years agoupdate TODO
Lennart Poettering [Mon, 6 Apr 2015 13:27:18 +0000 (15:27 +0200)]
update TODO

9 years agobtrfs: add support for recursive btrfs snapshotting
Lennart Poettering [Mon, 6 Apr 2015 13:26:59 +0000 (15:26 +0200)]
btrfs: add support for recursive btrfs snapshotting

9 years agobtrfs: missing endian conversion fix
Lennart Poettering [Mon, 6 Apr 2015 12:55:45 +0000 (14:55 +0200)]
btrfs: missing endian conversion fix

9 years agobtrfs: make btrfs_subvol_snapshot() parameters a flags field
Lennart Poettering [Mon, 6 Apr 2015 09:47:25 +0000 (11:47 +0200)]
btrfs: make btrfs_subvol_snapshot() parameters a flags field

9 years agobtrfs: support recursively removing btrfs snapshots
Lennart Poettering [Mon, 6 Apr 2015 08:57:17 +0000 (10:57 +0200)]
btrfs: support recursively removing btrfs snapshots

9 years agomachined: drop btrfs subvolumes when removing container images
Lennart Poettering [Sun, 5 Apr 2015 09:28:04 +0000 (11:28 +0200)]
machined: drop btrfs subvolumes when removing container images

9 years agopath-util: don't eat up ENOENT in path_is_mount_point()
Lennart Poettering [Sun, 5 Apr 2015 09:26:58 +0000 (11:26 +0200)]
path-util: don't eat up ENOENT in path_is_mount_point()

There's no reason to eat up ENOENT, it should be OK to simply report the
error back.

9 years agopath-util: make sure fd_is_mount_point() returns true for root directory
Lennart Poettering [Sun, 5 Apr 2015 09:12:16 +0000 (11:12 +0200)]
path-util: make sure fd_is_mount_point() returns true for root directory

9 years agorm-rf: add support for recursively removing btrfs subvolumes
Lennart Poettering [Sat, 4 Apr 2015 17:22:00 +0000 (19:22 +0200)]
rm-rf: add support for recursively removing btrfs subvolumes

9 years agopath-util: if parent can do name_to_handle() but relevant dir not, it's a mount point
Lennart Poettering [Sat, 4 Apr 2015 17:20:56 +0000 (19:20 +0200)]
path-util: if parent can do name_to_handle() but relevant dir not, it's a mount point

9 years agorm-rf: never cross mount points
Lennart Poettering [Sat, 4 Apr 2015 12:42:39 +0000 (14:42 +0200)]
rm-rf: never cross mount points

9 years agoutil: rework rm_rf() logic
Lennart Poettering [Sat, 4 Apr 2015 09:52:57 +0000 (11:52 +0200)]
util: rework rm_rf() logic

- Move to its own file rm-rf.c

- Change parameters into a single flags parameter

- Remove "honour sticky" logic, it's unused these days

9 years agoupdate TODO
Lennart Poettering [Fri, 3 Apr 2015 13:10:20 +0000 (15:10 +0200)]
update TODO

9 years agobootchart: fix check for no fd
Shawn Landden [Sun, 5 Apr 2015 17:03:37 +0000 (10:03 -0700)]
bootchart: fix check for no fd

found with coverty report

9 years agosd-device: don't use alloca() within loops
Tom Gundersen [Sun, 5 Apr 2015 10:17:29 +0000 (12:17 +0200)]
sd-device: don't use alloca() within loops

 I shall not use alloca() within loops
 I shall not use alloca() within loops
 I shall not use alloca() within loops
 I shall not use alloca() within loops
...

9 years agolibudev-util: check length before accesing the array
Thomas Hindoe Paaboel Andersen [Sun, 5 Apr 2015 06:30:49 +0000 (08:30 +0200)]
libudev-util: check length before accesing the array

9 years agoservice: remove unnecessary forward declare
Thomas Hindoe Paaboel Andersen [Sun, 5 Apr 2015 06:28:27 +0000 (08:28 +0200)]
service: remove unnecessary forward declare

9 years agosd-device,udevd: fix spelling /ammend/amend/
Tom Gundersen [Fri, 3 Apr 2015 20:51:09 +0000 (22:51 +0200)]
sd-device,udevd: fix spelling /ammend/amend/

9 years agosd-device: fix deserialization from netlink
Tom Gundersen [Fri, 3 Apr 2015 19:04:48 +0000 (21:04 +0200)]
sd-device: fix deserialization from netlink

Use the standard FOREACH_WORD* macros.

The current code was broken in the devlink case so the last one received
was being dropped, causing https://bugs.freedesktop.org/show_bug.cgi?id=89894

9 years agosd-device: get_properties_{nulstr,strv} - don't recreate the buffer unnecessarily
Tom Gundersen [Fri, 3 Apr 2015 19:05:42 +0000 (21:05 +0200)]
sd-device: get_properties_{nulstr,strv} - don't recreate the buffer unnecessarily

9 years agosd-device: get_sysattr_value - don't leak returned value
Tom Gundersen [Fri, 3 Apr 2015 15:43:13 +0000 (17:43 +0200)]
sd-device: get_sysattr_value - don't leak returned value

This was getting leaked as a copy was added to the hashmap, simply add the
returned value instead.

This should fix CID #1292806.

9 years agotest: udev, valgrind - track origins of uninitiaziled memory
Tom Gundersen [Fri, 3 Apr 2015 15:27:45 +0000 (17:27 +0200)]
test: udev, valgrind - track origins of uninitiaziled memory

9 years agosd-device: initialize variable
Tom Gundersen [Fri, 3 Apr 2015 15:27:00 +0000 (17:27 +0200)]
sd-device: initialize variable

sysnum would not be initialized if sysname had no trailing digits.

9 years agonetworkd: improve logging when processing links and addresses
Tom Gundersen [Fri, 3 Apr 2015 13:21:03 +0000 (15:21 +0200)]
networkd: improve logging when processing links and addresses

9 years agobootchart: assorted coding style fixes
Daniel Mack [Thu, 2 Apr 2015 22:40:01 +0000 (00:40 +0200)]
bootchart: assorted coding style fixes

* kill unnecessary {}
* add newlines where appropriate
* remove dead code
* reorder variable declarations
* fix more return code logic
* pass O_CLOEXEC to all open*() calles
* use safe_close() where possible

9 years agobootchart: kill a bunch of global variables
Daniel Mack [Thu, 2 Apr 2015 13:15:43 +0000 (15:15 +0200)]
bootchart: kill a bunch of global variables

This code is in a confusingly bad shape. Kill a bunch of global variables
and pass needed variables around in function calls.

9 years agobootchart: clean up sysfd and proc handling
Daniel Mack [Thu, 2 Apr 2015 12:15:33 +0000 (14:15 +0200)]
bootchart: clean up sysfd and proc handling

Retrieve the handle to procfs in main(), and pass it functions
that need it. Kill the global variables.

Also, refactor lots of code in svg_title(). There's no need to access any
global variables from there either, and we really should return proper
errors from there as well.

9 years agobootchart: clean up control flow logic
Daniel Mack [Thu, 2 Apr 2015 11:43:18 +0000 (13:43 +0200)]
bootchart: clean up control flow logic

Don't blindly exit() from random functions, but return a proper error
and upchain error conditions.

squash! bootchart: clean up control flow logic

When pread() returns "0", it's a read failure, so don't make the caller think
log_sample() was successful, return meaningful error code instead of 0.

9 years agobootchart: switch to log_* helpers
Daniel Mack [Thu, 2 Apr 2015 11:24:30 +0000 (13:24 +0200)]
bootchart: switch to log_* helpers

Let the helper functions take care of the string message output.

9 years agoupdate TODO
Lennart Poettering [Fri, 3 Apr 2015 12:34:59 +0000 (14:34 +0200)]
update TODO

9 years agounits: explicitly require /var, /tmp and /var/tmp to be mounted before basic.target
Lennart Poettering [Fri, 3 Apr 2015 12:32:32 +0000 (14:32 +0200)]
units: explicitly require /var, /tmp and /var/tmp to be mounted before basic.target

We support /var, /tmp and /var/tmp on NFS. NFS shares however are by
default ordered only before remote-fs.target which is a late-boot
service. /var, /tmp, /var/tmp need to be around earlier though, hence
explicitly order them before basic.target.

Note that this change simply makes explicit what was implicit before,
since many early-boot services pulled in parts of /var anyway early.

9 years agounits: explicitly order systemd-user-sessions.service after nss-user-lookup.target
Lennart Poettering [Fri, 3 Apr 2015 12:31:35 +0000 (14:31 +0200)]
units: explicitly order systemd-user-sessions.service after nss-user-lookup.target

We should not allow logins before NIS/LDAP users are available.

9 years agounits: move After=systemd-hwdb-update.service dependency from udev to udev-trigger
Lennart Poettering [Fri, 3 Apr 2015 12:27:16 +0000 (14:27 +0200)]
units: move After=systemd-hwdb-update.service dependency from udev to udev-trigger

Let's move the hwdb regeneration a bit later. Given that hwdb is
non-essential it should be OK to allow udev to run without it until we
do the full trigger.

http://lists.freedesktop.org/archives/systemd-devel/2015-April/030074.html

9 years agoCODING_STYLE: mention that dup() should not be used
Lennart Poettering [Fri, 3 Apr 2015 12:26:22 +0000 (14:26 +0200)]
CODING_STYLE: mention that dup() should not be used

9 years agotimedatectl: many fixes
Lennart Poettering [Thu, 2 Apr 2015 10:15:53 +0000 (12:15 +0200)]
timedatectl: many fixes

- print runtime warnings with log_warning()

- save and restore $TZ properly

- Get rid of exit() pseudo error handling

- Using time() is OK when connecting to a local container or when
  showing data about local host, but certainly not for remote hosts.

9 years agoman: don't mention "journalctl /dev/sda"
Lennart Poettering [Thu, 2 Apr 2015 10:14:57 +0000 (12:14 +0200)]
man: don't mention "journalctl /dev/sda"

It never worked, and nobody ever worked on it, hence don't mention it.

9 years agoupdate TODO
Lennart Poettering [Thu, 2 Apr 2015 10:14:51 +0000 (12:14 +0200)]
update TODO

9 years agoCODING_STYLE: clarify that exit() is never OK to call
Lennart Poettering [Thu, 2 Apr 2015 10:14:43 +0000 (12:14 +0200)]
CODING_STYLE: clarify that exit() is never OK to call

9 years agolibudev: device - replace by a thin wrapper around sd-device
Tom Gundersen [Wed, 1 Apr 2015 11:55:20 +0000 (13:55 +0200)]
libudev: device - replace by a thin wrapper around sd-device

9 years agofsck: port from libudev to sd-device
Tom Gundersen [Wed, 1 Apr 2015 12:33:02 +0000 (14:33 +0200)]
fsck: port from libudev to sd-device

9 years agocryptsetup: port from libudev to sd-device
Tom Gundersen [Wed, 1 Apr 2015 12:26:47 +0000 (14:26 +0200)]
cryptsetup: port from libudev to sd-device

9 years agonetworkctl: port from libudev to sd-device
Tom Gundersen [Fri, 5 Dec 2014 00:16:05 +0000 (01:16 +0100)]
networkctl: port from libudev to sd-device

9 years agolibsystemd: add sd-device library
Tom Gundersen [Wed, 1 Apr 2015 11:50:31 +0000 (13:50 +0200)]
libsystemd: add sd-device library

This provides equivalent functionality to libudev-device, but in the
systemd style. The public API only caters to creating sd_device objects
from for devices that already exist in /sys, there is no support for
listening for monitoring events or creating devices received over
the udev netlink protocol.

The private API contains the necessary functionality to make sd-device
a drop-in replacement for libudev-device, but which we would not
otherwise want to export.

9 years agoudev: net_id - improve comments
Tom Gundersen [Wed, 1 Apr 2015 21:34:19 +0000 (23:34 +0200)]
udev: net_id - improve comments

The dev_port concept is a bit confusing, expand on the comment a bit.

9 years agoudev: net_id - support multi-port enpo* device names
Tom Gundersen [Wed, 1 Apr 2015 14:51:02 +0000 (16:51 +0200)]
udev: net_id - support multi-port enpo* device names

I'd argue that having firmware labels for such devices makes
no sense, but they exist, so make sure we handle them as best
as we can.

9 years agoudev: net_id - fix copy-paste error
Tom Gundersen [Wed, 1 Apr 2015 14:41:41 +0000 (16:41 +0200)]
udev: net_id - fix copy-paste error

In case pci_slot overflows we were truncating pci_path instead.

9 years agolibudev: monitor - improve logging
Tom Gundersen [Wed, 1 Apr 2015 11:55:52 +0000 (13:55 +0200)]
libudev: monitor - improve logging

9 years agoshared: set - make argument to set_remove() const
Tom Gundersen [Wed, 1 Apr 2015 11:46:59 +0000 (13:46 +0200)]
shared: set - make argument to set_remove() const

9 years agomount: fix up wording in the comment
Michal Sekletar [Wed, 1 Apr 2015 11:08:25 +0000 (13:08 +0200)]
mount: fix up wording in the comment

9 years agomount: don't run quotaon only for network filesystems
Lukas Nykryn [Mon, 30 Mar 2015 12:42:02 +0000 (14:42 +0200)]
mount: don't run quotaon only for network filesystems

If you have for example ext4 on iscsi devices it is possible to setup
qoutas there. Unfortunately, because such fstab entry contains _netdev,
systemd will not add dependency to quotaon.service.

9 years agohwdb: Update database of Bluetooth company identifiers
Marcel Holtmann [Tue, 31 Mar 2015 20:59:12 +0000 (22:59 +0200)]
hwdb: Update database of Bluetooth company identifiers

9 years agonspawn: fallback on bind mount when mknod fails
Alban Crequy [Tue, 31 Mar 2015 15:14:48 +0000 (17:14 +0200)]
nspawn: fallback on bind mount when mknod fails

Some systems abusively restrict mknod, even when the device node already
exists in /dev. This is unfortunate because it prevents systemd-nspawn
from creating the basic devices in /dev in the container.

This patch implements a workaround: when mknod fails, fallback on bind
mounts.

Additionally, /dev/console was created with a mknod with the same
major/minor as /dev/null before bind mounting a pts on it. This patch
removes the mknod and creates an empty regular file instead.

In order to test this patch, I used the following configuration, which I
think should replicate the system with the abusive restriction on mknod:

  # grep devices /proc/self/cgroup
  4:devices:/user.slice/restrict
  # cat /sys/fs/cgroup/devices/user.slice/restrict/devices.list
  c 1:9 r
  c 5:2 rw
  c 136:* rw
  # systemd-nspawn --register=false -D .

v2:
 - remove "bind", it is not needed since there is already MS_BIND
v3:
 - fix error management when calling touch()
 - fix lowercase in error message

9 years agonspawn: drop sd_booted() check
Lennart Poettering [Tue, 31 Mar 2015 13:34:01 +0000 (15:34 +0200)]
nspawn: drop sd_booted() check

We have no such check in any of the other tools, hence don't have one in
nspawn either.

(This should make things nicer for Rocket, among other things)

Note: removing this check does not mean that we support running nspawn
on non-systemd. We explicitly don't. It just means that we remove the
check for running it like that. You are still on your own if you do...

9 years agonspawn: change filesystem type from "bind" to NULL in mount() syscalls
Iago López Galeiras [Tue, 31 Mar 2015 09:50:29 +0000 (11:50 +0200)]
nspawn: change filesystem type from "bind" to NULL in mount() syscalls

Try to keep syscalls as minimal as possible.

9 years agoman: fix line breaks in code examples
Lennart Poettering [Tue, 31 Mar 2015 13:32:43 +0000 (15:32 +0200)]
man: fix line breaks in code examples

9 years agoARM: detect-virt: detect QEMU/KVM
Andrew Jones [Tue, 31 Mar 2015 09:08:13 +0000 (11:08 +0200)]
ARM: detect-virt: detect QEMU/KVM

QEMU/KVM guests do not have hypervisor nodes, but they do have
fw-cfg nodes (since qemu v2.3.0-rc0). fw-cfg nodes are documented,
see kernel doc Documentation/devicetree/bindings/arm/fw-cfg.txt,
and therefore we should be able to rely on it in this detection.

Unfortunately, we currently don't have enough information in the
DT, or elsewhere, to determine if we're using KVM acceleration
with QEMU or not, so we can only report 'qemu' at this time, even
if KVM is in use. This shouldn't really matter in practice though,
because if detect-virt is used interactively it will be clear to
the user whether or not KVM acceleration is present by the overall
speed of the guest. If used by a script, then the script's behavior
should not change whether it's 'qemu' or 'kvm'. QEMU emulated
guests and QEMU/KVM guests of the same type should behave
identically, only the speed at which they run should differ.

9 years agoARM: detect-virt: detect Xen
Andrew Jones [Tue, 31 Mar 2015 09:08:12 +0000 (11:08 +0200)]
ARM: detect-virt: detect Xen

9 years agodetect-virt: use /proc/device-tree
Andrew Jones [Tue, 31 Mar 2015 09:08:11 +0000 (11:08 +0200)]
detect-virt: use /proc/device-tree

Kernel doc Documentation/ABI/testing/sysfs-firmware-ofw says that
the /proc/device-tree symlink should be used, as opposed to
directly accessing /sys/firmware/devicetree/base. The former is
ABI, but not the later.

9 years agosystemd-bootchart: Repair Entropy Graph
Alexander Sverdlin [Sun, 29 Mar 2015 18:46:42 +0000 (20:46 +0200)]
systemd-bootchart: Repair Entropy Graph

Entropy Graph code doesn't handle the error condition if open() of /proc entry
fails. Moreover, the file is only opened once and only first sample will contain
the correct value because the return value of pread() is also not handled
properly and file is not re-opened. Fix both problems.

9 years agosystemd-bootchart: Prevent leaking file descriptors in open-fdopen combination
Alexander Sverdlin [Sun, 29 Mar 2015 18:44:04 +0000 (20:44 +0200)]
systemd-bootchart: Prevent leaking file descriptors in open-fdopen combination

Correctly handle the potential failure of fdopen() (because of OOM, for instance)
after potentially successful open(). Prevent leaking open fd in such case.

9 years agosystemd-bootchart: Prevent closing random file descriptors
Alexander Sverdlin [Sun, 29 Mar 2015 18:41:56 +0000 (20:41 +0200)]
systemd-bootchart: Prevent closing random file descriptors

If the kernel has no CONFIG_SCHED_DEBUG option set, systemd-bootchart produces
empty .svg file. The reason for this is very fragile file descriptor logic in
log_sample() and main() (/* do some cleanup, close fd's */ block). There are
many places where file descriptors are closed on failure (missing SCHED_DEBUG
provokes it), but there are several problems with it:
 - following iterations in the loop see that the descriptor is non zero and do
   not open the corresponding file again;
 - "some cleanup" code closes already closed files and the descriptors are reused
   already, in particular for resulting .svg file;
 - static "vmstat" and "schedstat" variables in log_sample() made the situation
   even worse.

These are the strace fragments:

[...]
close(7)                                = -1 EBADF (Bad file descriptor)
close(-1)                               = -1 EBADF (Bad file descriptor)
pread(7, 0xbea60a2c, 4095, 0)           = -1 EBADF (Bad file descriptor)
close(7)                                = -1 EBADF (Bad file descriptor)
close(-1)                               = -1 EBADF (Bad file descriptor)
pread(7, 0xbea60a2c, 4095, 0)           = -1 EBADF (Bad file descriptor)
close(7)                                = -1 EBADF (Bad file descriptor)
close(-1)                               = -1 EBADF (Bad file descriptor)
getdents64(4, /* 0 entries */, 32768)   = 0
clock_gettime(CLOCK_MONOTONIC, {24, 783843501}) = 0
nanosleep({0, 5221792}, NULL)           = 0
clock_gettime(CLOCK_MONOTONIC, {24, 789726835}) = 0
lseek(4, 0, SEEK_SET)                   = 0
pread(5, "nr_free_pages 52309\nnr_alloc_bat"..., 4095, 0) = 685
pread(6, "version 15\ntimestamp 4294939775\n"..., 4095, 0) = 86
getdents64(4, /* 99 entries */, 32768)  = 2680
pread(7, 0xbea60a2c, 4095, 0)           = -1 EBADF (Bad file descriptor)
close(7)                                = -1 EBADF (Bad file descriptor)
close(-1)                               = -1 EBADF (Bad file descriptor)
pread(8, 0xbea60a2c, 4095, 0)           = -1 EBADF (Bad file descriptor)
close(8)                                = -1 EBADF (Bad file descriptor)
close(-1)                               = -1 EBADF (Bad file descriptor)
pread(9, 0xbea60a2c, 4095, 0)           = -1 EBADF (Bad file descriptor)
close(9)                                = -1 EBADF (Bad file descriptor)
[...]

where it obviously tries to close same and reused decriptors many times, also
passing return code "-1" instead of descriptor...

[...]
close(7)                                = -1 EBADF (Bad file descriptor)
close(-1)                               = -1 EBADF (Bad file descriptor)
pipe2([7, 8], O_CLOEXEC)                = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb6fd0068) = 192
close(8)                                = 0
fcntl64(7, F_SETFD, 0)                  = 0
fstat64(7, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6fd2000
read(7, "[    0.074507] calling  vfp_init"..., 4096) = 4096
[...]
read(7, "s)\n[    6.228910] UBIFS: reserve"..., 4096) = 4096
read(7, "trary Executable File Formats Fi"..., 4096) = 1616
read(7, "", 4096)                       = 0
close(7)                                = 0
wait4(192, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 192

9 years agotest: udev - add gdb support
Tom Gundersen [Wed, 25 Mar 2015 11:28:15 +0000 (12:28 +0100)]
test: udev - add gdb support

9 years agonetwork: don't pass NULL to udev_device_get_driver()
Tom Gundersen [Thu, 26 Mar 2015 20:53:38 +0000 (21:53 +0100)]
network: don't pass NULL to udev_device_get_driver()

9 years ago50-udev-default.rules: don't run anything but REMOVE_CMD on remove
Harald Hoyer [Fri, 27 Mar 2015 14:42:04 +0000 (15:42 +0100)]
50-udev-default.rules: don't run anything but REMOVE_CMD on remove

we don't want to run usb_id and input_id on ACTION=="remove"

9 years agocdrom_id: unroll and simplify data check loop
Harald Hoyer [Fri, 27 Mar 2015 12:47:32 +0000 (13:47 +0100)]
cdrom_id: unroll and simplify data check loop

also removes this warning:

src/udev/cdrom_id/cdrom_id.c: In function ‘cd_media_info.isra.13’:
src/udev/cdrom_id/cdrom_id.c:612:12: warning: assuming signed overflow
does not occur when assuming that (X + c) >= X is always true
[-Wstrict-overflow]
 static int cd_media_info(struct udev *udev, int fd)
            ^

9 years agofix gcc warnings about uninitialized variables
Harald Hoyer [Fri, 27 Mar 2015 11:02:49 +0000 (12:02 +0100)]
fix gcc warnings about uninitialized variables

like:

src/shared/install.c: In function ‘unit_file_lookup_state’:
src/shared/install.c:1861:16: warning: ‘r’ may be used uninitialized in
this function [-Wmaybe-uninitialized]
         return r < 0 ? r : state;
                ^
src/shared/install.c:1796:13: note: ‘r’ was declared here
         int r;
             ^