platform/upstream/systemd.git
9 years agoupdate TODO
Lennart Poettering [Mon, 27 Apr 2015 15:22:30 +0000 (17:22 +0200)]
update TODO

9 years agoman: document that nspawn's --bind= switch may be used multiple times
Lennart Poettering [Mon, 27 Apr 2015 13:40:30 +0000 (15:40 +0200)]
man: document that nspawn's --bind= switch may be used multiple times

9 years agopath-util: fix fstat fallback in fd_is_mount_point
Thomas Hindoe Paaboel Andersen [Sun, 26 Apr 2015 13:57:29 +0000 (15:57 +0200)]
path-util: fix fstat fallback in fd_is_mount_point

9 years agosysv-generator: avoid freeing uninitialized variable
Thomas Hindoe Paaboel Andersen [Sun, 26 Apr 2015 12:43:40 +0000 (14:43 +0200)]
sysv-generator: avoid freeing uninitialized variable

Would happen if lookup_paths_init returns an error.

9 years agolibudev: monitor - clarify log messages
Tom Gundersen [Sat, 25 Apr 2015 23:09:34 +0000 (01:09 +0200)]
libudev: monitor - clarify log messages

9 years agosd-device: don't retry loading uevent/db files more than once
Tom Gundersen [Sat, 25 Apr 2015 23:07:42 +0000 (01:07 +0200)]
sd-device: don't retry loading uevent/db files more than once

If for whatever reason there was nothing to load or loading failed, don't keep trying.

9 years agosd-device: don't complain if the uevent file is missing
Tom Gundersen [Sat, 25 Apr 2015 23:04:33 +0000 (01:04 +0200)]
sd-device: don't complain if the uevent file is missing

Only 'real' devices are required to have an uevent file.

9 years agobootchart: kill newline characters from log_error_errno() calls
Daniel Mack [Fri, 24 Apr 2015 19:51:43 +0000 (21:51 +0200)]
bootchart: kill newline characters from log_error_errno() calls

9 years agosystemctl: kill newline characters from log_error_errno() calls
Daniel Mack [Fri, 24 Apr 2015 19:50:36 +0000 (21:50 +0200)]
systemctl: kill newline characters from log_error_errno() calls

log_error_errno() already adds a newline, so drop them.

9 years agologind: kill newline characters from log_error_errno() calls
Daniel Mack [Fri, 24 Apr 2015 19:44:51 +0000 (21:44 +0200)]
logind: kill newline characters from log_error_errno() calls

log_error_errno() already adds a newline, so drop them.

9 years agoudevd: worker - log if worker result cannot be sent
Tom Gundersen [Fri, 24 Apr 2015 18:36:02 +0000 (20:36 +0200)]
udevd: worker - log if worker result cannot be sent

If the main daemon is not notified about a worker finishing an event
the refcounting of the worker struct will be wrong, and we will lose
track of the number of children we have to wait for.

This should not happen, but if it does we better complain loudly about
it. Worst case udev will wait for 30 seconsd at shutdown waiting for
nonexistent workers.

9 years agoudevd: worker - warn if unknown worker returns
Tom Gundersen [Fri, 24 Apr 2015 17:29:53 +0000 (19:29 +0200)]
udevd: worker - warn if unknown worker returns

9 years agoudevd: worker - let the kernel attach the sender pid
Tom Gundersen [Tue, 21 Apr 2015 16:55:05 +0000 (18:55 +0200)]
udevd: worker - let the kernel attach the sender pid

No need to include this explicitly, just use SCM_CREDENTIALS.

9 years agosysctl: minor simplifications
Lennart Poettering [Fri, 24 Apr 2015 17:56:24 +0000 (19:56 +0200)]
sysctl: minor simplifications

9 years agosysctl: don't propagate ENOENT sysctl options
Lennart Poettering [Fri, 24 Apr 2015 17:55:16 +0000 (19:55 +0200)]
sysctl: don't propagate ENOENT sysctl options

We shouldn't fail the sysctl service if an option is missing.

Previously the warning about this was already downgraded to LOG_DEBUG,
but we really shouldn't propagate such errors either.

9 years agocore: minor simplification
Lennart Poettering [Fri, 24 Apr 2015 17:54:29 +0000 (19:54 +0200)]
core: minor simplification

9 years agoUpdate TODO
Lennart Poettering [Fri, 24 Apr 2015 17:54:14 +0000 (19:54 +0200)]
Update TODO

9 years agoman: extend documentation on IPForward= and IPMasquerade=
Lennart Poettering [Fri, 24 Apr 2015 17:53:38 +0000 (19:53 +0200)]
man: extend documentation on IPForward= and IPMasquerade=

Mention the default values, and clarify how this relates to the
underlying sysctls.

9 years agoudevd: don't unref worker objects on SIGSTOP/SIGCONT
Tom Gundersen [Fri, 24 Apr 2015 16:35:58 +0000 (18:35 +0200)]
udevd: don't unref worker objects on SIGSTOP/SIGCONT

We should not be receiving these anyway, but let's be correct.

9 years agoudevd: warn if we receive SIGCHLD from untracked worker
Tom Gundersen [Fri, 24 Apr 2015 16:04:57 +0000 (18:04 +0200)]
udevd: warn if we receive SIGCHLD from untracked worker

9 years agoudevd: improve logging in SIGCHLD handling
Tom Gundersen [Fri, 24 Apr 2015 15:50:49 +0000 (17:50 +0200)]
udevd: improve logging in SIGCHLD handling

Remove some redundant logging, and reduce the log-level in most cases. The only
case that is really critical is if a worker failed while hanlding an event, so
keep that at error level.

9 years agosd-bus: teach bus_print_property() how to print SD_BUS_TYPE_INT64
Daniel Mack [Fri, 20 Feb 2015 14:16:02 +0000 (15:16 +0100)]
sd-bus: teach bus_print_property() how to print SD_BUS_TYPE_INT64

9 years agoshutdownd: kill the old implementation
Daniel Mack [Thu, 23 Apr 2015 15:30:23 +0000 (17:30 +0200)]
shutdownd: kill the old implementation

Not that all functionality has been ported over to logind, the old
implementation can be removed. There goes one of the oldest parts of
the systemd code base.

9 years agosystemctl: talk to logind for scheduled shutdowns
Daniel Mack [Thu, 23 Apr 2015 14:03:02 +0000 (16:03 +0200)]
systemctl: talk to logind for scheduled shutdowns

Drop the code which communicates with shutdownd via its private socket,
and use the functionality in logind instead.

The code pathes which talk to logind have to create their own ad-hoc
bus connection because by default, systemctl connects to systemd's
private socket.

9 years agologind: add support for /run/nologin and /run/systemd/shutdown/scheduled
Daniel Mack [Thu, 23 Apr 2015 15:11:28 +0000 (17:11 +0200)]
logind: add support for /run/nologin and /run/systemd/shutdown/scheduled

Port over more code from shutdownd and teach logind to write /run/nologin at
least 5 minutes before the system is going down, and
/run/systemd/shutdown/scheduled when a shutdown is scheduled.

9 years agologind: add code for UTMP wall messages
Daniel Mack [Wed, 22 Apr 2015 15:20:42 +0000 (17:20 +0200)]
logind: add code for UTMP wall messages

Add a timer to print UTMP wall messages so that it repeatedly informs users
about a scheduled shutdown:

 * every 1 minute with less than 10 minutes to go
 * every 15 minutes with less than 60 minutes to go
 * every 30 minutes with less than 180 minutes (3 hours) to go
 * every 60 minutes if more than that to go

This functionality only active if the .EnableWallMessages DBus property
is set to true. Also, a custom string can be added to the wall message,
set through the WallMessagePrefix property.

9 years agoshared/utmp-wtmp: add parameter for origin tty and callback userdata
Daniel Mack [Fri, 24 Apr 2015 13:31:29 +0000 (15:31 +0200)]
shared/utmp-wtmp: add parameter for origin tty and callback userdata

Instead of looking up the tty from STDIN, let utmp_wall() take an argument
to specify an origin tty for the wall message. Only if that argument is
NULL do the STDIN lookup.

Also add an void *userdata argument that is handed back to the callback
function.

9 years agologind: add .ScheduleShutdown and .CancelScheduledShutdown methods
Daniel Mack [Mon, 20 Apr 2015 13:27:15 +0000 (15:27 +0200)]
logind: add .ScheduleShutdown and .CancelScheduledShutdown methods

Add a method called ScheduleShutdown in org.freedesktop.login1.Manager
which adds a timer to shut down the system at a later point in time.

The first argument holds the type of the schedule that is about to
happen, and must be one of 'reboot', 'halt' or 'poweroff'.

The second argument specifies the absolute time, based on
CLOCK_REALTIME in nanoseconds, at which the the operation should be
executed.

To cancel a previously scheduled shutdown, the CancelScheduledShutdown()
can be called, which returns a bool, indicating whether a scheduled
timeout was cancelled.

Also add a new property called ScheduledShutdown which returns the
equivalent to what was passed in via ScheduleShutdown, as '(st)' type.

9 years agologind: factor out polkit checks
Daniel Mack [Mon, 20 Apr 2015 13:19:26 +0000 (15:19 +0200)]
logind: factor out polkit checks

Factor out the code to ask polkit for authorization from
method_do_shutdown_or_sleep() into an own function called
verify_shutdown_creds().

This is needed in order to also use the same checks when shutdown
operations are scheduled. For that, it's also necessary to allow
NULL values for that action{,_multiple_sessions,_ignore_inhibit)
arguments, which will suppress the call if no action string is
passed.

9 years agologind: make local functions static
Daniel Mack [Sat, 11 Apr 2015 17:47:12 +0000 (19:47 +0200)]
logind: make local functions static

make manager_gc(), manager_startup(), manager_new(), manager_free()
and manager_run() static, and kill their forward declarations.

9 years agologind: use sd_event timer source for inhibitor logic
Daniel Mack [Sat, 11 Apr 2015 16:44:51 +0000 (18:44 +0200)]
logind: use sd_event timer source for inhibitor logic

Instead of open-coding the delayed action and inhibit timeout logic,
switch over to a real sd_event_source based implementation.

This is not only easier to read but also allows us to add more timers
in the future.

9 years agologind: drop unused argument from method_do_shutdown_or_sleep()
Daniel Mack [Thu, 9 Apr 2015 14:44:51 +0000 (16:44 +0200)]
logind: drop unused argument from method_do_shutdown_or_sleep()

9 years agounit: don't add automatic dependencies on device units if they aren't supported
Lennart Poettering [Fri, 24 Apr 2015 15:28:06 +0000 (17:28 +0200)]
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

9 years agounits: set KillMode=mixed for our daemons that fork worker processes
Lennart Poettering [Fri, 24 Apr 2015 14:12:28 +0000 (16:12 +0200)]
units: set KillMode=mixed for our daemons that fork worker processes

The daemons should really have the time to kill the workers first,
before systemd does it, hence use KillMode=mixed for these daemons.

https://bugs.freedesktop.org/show_bug.cgi?id=90051

9 years agomanager: don't fail fatally if we cannot coldplug a unit
Lennart Poettering [Fri, 24 Apr 2015 14:09:15 +0000 (16:09 +0200)]
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.

9 years agocore: always coldplug units that are triggered by other units before those
Lennart Poettering [Fri, 24 Apr 2015 14:04:50 +0000 (16:04 +0200)]
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

9 years agocore: return 0 from device_serialize()
Daniel Mack [Fri, 24 Apr 2015 14:14:48 +0000 (16:14 +0200)]
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]
 }
 ^

9 years agoRevert "core: do not spawn jobs or touch other units during coldplugging"
Lennart Poettering [Fri, 24 Apr 2015 13:27:19 +0000 (15:27 +0200)]
Revert "core: do not spawn jobs or touch other units during coldplugging"

This reverts commit 6e392c9c45643d106673c6643ac8bf4e65da13c1.

We really shouldn't invent external state keeping hashmaps, if we can
keep this state in the units themselves.

9 years agoUpdate Spanish translation
Daniel Mustieles [Fri, 24 Apr 2015 13:13:34 +0000 (09:13 -0400)]
Update Spanish translation

https://bugs.freedesktop.org/show_bug.cgi?id=90163

9 years agodevice: rework how we enter tentative state
Lennart Poettering [Fri, 24 Apr 2015 10:29:05 +0000 (12:29 +0200)]
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.

9 years agoservice: improve readability, by reducing line-breaks
Lennart Poettering [Fri, 24 Apr 2015 10:25:55 +0000 (12:25 +0200)]
service: improve readability, by reducing line-breaks

9 years agojournal: use audit event names instead of numbers
Zbigniew Jędrzejewski-Szmek [Tue, 14 Apr 2015 14:29:03 +0000 (10:29 -0400)]
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.

9 years agojournal: add int↔audit type name mapping
Zbigniew Jędrzejewski-Szmek [Mon, 16 Mar 2015 17:14:18 +0000 (13:14 -0400)]
journal: add int↔audit type name mapping

9 years agoudevd: fix REMOVE handling
Tom Gundersen [Thu, 23 Apr 2015 13:19:13 +0000 (15:19 +0200)]
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>.

9 years agoudev: event - update tags before writing out db
Tom Gundersen [Fri, 17 Apr 2015 13:46:37 +0000 (15:46 +0200)]
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.

9 years agolibudev-device: fix lazy loading of devlinks, properties and tags
Tom Gundersen [Wed, 22 Apr 2015 17:01:50 +0000 (19:01 +0200)]
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.

9 years agosd-bus: add controlling tty field to sd_creds object
Lennart Poettering [Thu, 23 Apr 2015 17:43:40 +0000 (19:43 +0200)]
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)

9 years agosd-bus: when bus operations are to be executed on direct connections always fail
Lennart Poettering [Thu, 23 Apr 2015 14:23:15 +0000 (16:23 +0200)]
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.

9 years agocore: fix parsing of mount flags
Lennart Poettering [Thu, 23 Apr 2015 14:21:38 +0000 (16:21 +0200)]
core: fix parsing of mount flags

As reported my Maciej Wereski:

http://lists.freedesktop.org/archives/systemd-devel/2015-February/028320.html

9 years agocore: downgrade warning about duplicate device names
Lennart Poettering [Thu, 23 Apr 2015 11:50:01 +0000 (13:50 +0200)]
core: downgrade warning about duplicate device names

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

9 years agorules: Add more firewire properties for sound, to be closer to USB and PCI
Adam Goode [Thu, 23 Apr 2015 01:05:39 +0000 (21:05 -0400)]
rules: Add more firewire properties for sound, to be closer to USB and PCI

USB and PCI soundcards have a nice set of ID_* properties. It would
be handy for firewire soundcards to have the same.

Note that this removes the explicit setting of ID_ID in the firewire
conditional. Because we are now setting ID_SERIAL, ID_ID will come
from later in the file.

9 years agorules: Don't use ALSA card id in ID_ID
Adam Goode [Thu, 23 Apr 2015 01:05:38 +0000 (21:05 -0400)]
rules: Don't use ALSA card id in ID_ID

The ALSA id sysattr is generated by the sound subsystem and is not
a stable identifier. It is generated though some string manipulation
then made unique if there is a conflict. This means that it is
enumeration-dependent and shouldn't be used for ID_ID.

If ID_ID is supposed to be system-unique, it is not already since
for firewire it is generated from the guid and there are broken
firewire devices that have duplicate guids across devices.

This is tracked for PulseAudio at
https://bugs.freedesktop.org/show_bug.cgi?id=90129.

This is essentially a revert of systemd
ed1b2d9fc7d5c5bfe2a67b0b8ff9e5ea8694268e.

9 years agosd-bus: don't inherit connection creds into message creds when we have a direct conne...
Lennart Poettering [Thu, 23 Apr 2015 11:37:03 +0000 (13:37 +0200)]
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.

9 years agopath-util: make use of "mnt_id" field exported in /proc/self/fdinfo/<fd> to test...
Lennart Poettering [Thu, 23 Apr 2015 11:23:03 +0000 (13:23 +0200)]
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.

9 years agohwdb: fix typo - "sort by by..." -> "sort by..."
Peter Hutterer [Thu, 23 Apr 2015 01:10:04 +0000 (11:10 +1000)]
hwdb: fix typo - "sort by by..." -> "sort by..."

9 years agohwdb: add HP X1000 DPI info
Peter Hutterer [Thu, 23 Apr 2015 00:44:30 +0000 (10:44 +1000)]
hwdb: add HP X1000 DPI info

Device name is PixArt, but it's sold as a HP brand.

https://bugs.freedesktop.org/show_bug.cgi?id=90142

9 years agoutil: Fix assertion in split() on missing '
Martin Pitt [Wed, 22 Apr 2015 22:09:43 +0000 (23:09 +0100)]
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

9 years agocore: explicitly specify credentials for direct connections, too
Lennart Poettering [Wed, 22 Apr 2015 22:37:47 +0000 (00:37 +0200)]
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.

9 years agojournalctl: rework code that checks whether we have access to /var/log/journal
Lennart Poettering [Wed, 22 Apr 2015 20:54:23 +0000 (22:54 +0200)]
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

9 years agoupdate TODO
Lennart Poettering [Wed, 22 Apr 2015 20:24:48 +0000 (22:24 +0200)]
update TODO

9 years agoman: fix example in systemd-run(1)
Lennart Poettering [Wed, 22 Apr 2015 20:24:24 +0000 (22:24 +0200)]
man: fix example in systemd-run(1)

Reported by Holger Reif.

9 years agoCODING_STYLE: document that we prefer /* comments */ over // comments
Lennart Poettering [Wed, 22 Apr 2015 18:25:06 +0000 (20:25 +0200)]
CODING_STYLE: document that we prefer /* comments */ over // comments

9 years agobuild-sys: adjust link-order for non-gc-sections build
Kay Sievers [Wed, 22 Apr 2015 20:06:18 +0000 (22:06 +0200)]
build-sys: adjust link-order for non-gc-sections build

9 years agoudev: Fix ping timeout when settle timeout is 0
Nir Soffer [Sat, 18 Apr 2015 23:49:47 +0000 (02:49 +0300)]
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)

9 years agoman: elaborate on the order by which tmpfiles operations are executed
Lennart Poettering [Wed, 22 Apr 2015 16:24:47 +0000 (18:24 +0200)]
man: elaborate on the order by which tmpfiles operations are executed

9 years agotmpfiles: use an ordered hashmap for the tmpfiles items
Lennart Poettering [Wed, 22 Apr 2015 16:18:56 +0000 (18:18 +0200)]
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

9 years agobtrfs-util: support recursive removal of read-only subvolumes
Lennart Poettering [Wed, 22 Apr 2015 15:09:20 +0000 (17:09 +0200)]
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.

9 years agonspawn: don't inherit read-only flag from disk image if --ephemeral is used
Lennart Poettering [Wed, 22 Apr 2015 14:56:51 +0000 (16:56 +0200)]
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.

9 years agobtrfs-util: fix creating recursive read-only snapshots
Lennart Poettering [Wed, 22 Apr 2015 14:52:53 +0000 (16:52 +0200)]
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.

9 years agobuild-sys: minor simplification
Lennart Poettering [Wed, 22 Apr 2015 12:05:24 +0000 (14:05 +0200)]
build-sys: minor simplification

9 years agoupdate TODO
Lennart Poettering [Wed, 22 Apr 2015 11:53:50 +0000 (13:53 +0200)]
update TODO

9 years agokmod-setup: load ip_tables kmod at boot
Lennart Poettering [Wed, 22 Apr 2015 11:50:56 +0000 (13:50 +0200)]
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.

9 years agoUpdate TODO
Lennart Poettering [Wed, 22 Apr 2015 11:30:42 +0000 (13:30 +0200)]
Update TODO

9 years agosd-bus: handle ppid=0 more gracefully (which happens for pid=1)
Lennart Poettering [Wed, 22 Apr 2015 11:27:29 +0000 (13:27 +0200)]
sd-bus: handle ppid=0 more gracefully (which happens for pid=1)

9 years agojournal: don't force FS_NOCOW_FL on new journal files, but warn if it is missing
Lennart Poettering [Wed, 22 Apr 2015 11:20:49 +0000 (13:20 +0200)]
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.

9 years agobtrfs-util: be more careful when invoking btrfs file system ioctls
Lennart Poettering [Wed, 22 Apr 2015 11:11:19 +0000 (13:11 +0200)]
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.

9 years agobtrfs-util: introduce btrfs_is_filesystem() and make use of it where appropriate
Lennart Poettering [Wed, 22 Apr 2015 11:08:19 +0000 (13:08 +0200)]
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)

9 years agoutil: make sure fd refers to regular file or directory when applying file attributes
Lennart Poettering [Wed, 22 Apr 2015 11:05:26 +0000 (13:05 +0200)]
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.

9 years agoefi-boot-generator: set automount expire for /boot
Kay Sievers [Tue, 21 Apr 2015 22:39:36 +0000 (00:39 +0200)]
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!

9 years agoautomount: remove unused variable
Thomas Hindoe Paaboel Andersen [Tue, 21 Apr 2015 20:39:23 +0000 (22:39 +0200)]
automount: remove unused variable

9 years agosd-bus: expose ppid field
Lennart Poettering [Tue, 21 Apr 2015 18:58:09 +0000 (20:58 +0200)]
sd-bus: expose ppid field

kdbus has been passing us the ppid file for a while, actually make use
of it.

9 years agobuild-sys: move systemd.pc from pkgconfiglibdir back into pkgconfigdatadir
Lennart Poettering [Tue, 21 Apr 2015 18:35:17 +0000 (20:35 +0200)]
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 eb39a6239c631873db62f6a942e6cb3dab0a2db4), it started to carry
arch-dependent data, thus breaking multilib systems. It was then moved
to pkgconfiglibdir to deal with this (in
aec432c6134146e138124c4130be2ee89dca07fa), 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.

9 years agocore: make unit deserialization more defensive
Lennart Poettering [Tue, 21 Apr 2015 18:22:51 +0000 (20:22 +0200)]
core: make unit deserialization more defensive

9 years agoautomount: various smaller fixes
Lennart Poettering [Tue, 21 Apr 2015 16:43:57 +0000 (18:43 +0200)]
automount: various smaller fixes

9 years agoautomount: add expire support
Michael Olbrich [Tue, 14 Apr 2015 20:01:48 +0000 (22:01 +0200)]
automount: add expire support

9 years agobuild-sys: efi - use $EFI_LIB_DIR
Kay Sievers [Tue, 21 Apr 2015 17:47:00 +0000 (19:47 +0200)]
build-sys: efi - use $EFI_LIB_DIR

https://bugs.freedesktop.org/show_bug.cgi?id=89982

9 years agobuild-sys: add missing file
Kay Sievers [Tue, 21 Apr 2015 17:44:27 +0000 (19:44 +0200)]
build-sys: add missing file

9 years agotest: test-path and test-execute only need units in test/
Ronny Chevalier [Tue, 21 Apr 2015 17:27:59 +0000 (19:27 +0200)]
test: test-path and test-execute only need units in test/

9 years agodelete unused LICENSE.MIT
Kay Sievers [Tue, 21 Apr 2015 17:21:56 +0000 (19:21 +0200)]
delete unused LICENSE.MIT

9 years agorandom-seed: minor cleanups, in particular when it comes to logging
Lennart Poettering [Tue, 21 Apr 2015 16:08:09 +0000 (18:08 +0200)]
random-seed: minor cleanups, in particular when it comes to logging

9 years agotree-wide: get rid of more strerror() calls
Lennart Poettering [Tue, 21 Apr 2015 16:05:44 +0000 (18:05 +0200)]
tree-wide: get rid of more strerror() calls

9 years agonetworkd-fdb: indentation/whitespace fixes
Lennart Poettering [Tue, 21 Apr 2015 15:43:31 +0000 (17:43 +0200)]
networkd-fdb: indentation/whitespace fixes

9 years agonetworkd: improve how networkd logs things
Lennart Poettering [Tue, 21 Apr 2015 15:40:18 +0000 (17:40 +0200)]
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.

9 years agotmpfiles: make /home and /var btrfs subvolumes by default when booted up with them...
Lennart Poettering [Tue, 21 Apr 2015 15:28:16 +0000 (17:28 +0200)]
tmpfiles: make /home and /var btrfs subvolumes by default when booted up with them missing

This way the root subvolume can be left read-only easily, and variable
and user data writable with explicit quota set.

9 years agotmpfiles: there's no systemd-forbid-user-logins.service service
Lennart Poettering [Tue, 21 Apr 2015 15:26:56 +0000 (17:26 +0200)]
tmpfiles: there's no systemd-forbid-user-logins.service service

9 years agolog: move log_syntax() into src/shared/log.c, and make it more similar to the other...
Lennart Poettering [Tue, 21 Apr 2015 15:26:04 +0000 (17:26 +0200)]
log: move log_syntax() into src/shared/log.c, and make it more similar to the other log functions

9 years agoudevadm: enclose invocation of unlinkat() with a (void) cast
Lennart Poettering [Tue, 21 Apr 2015 11:21:44 +0000 (13:21 +0200)]
udevadm: enclose invocation of unlinkat() with a (void) cast

Let's make Coverity happy about this one.

9 years agosd-device: set_syspath - return ENODEV when passed something that is not a device
Tom Gundersen [Tue, 21 Apr 2015 12:41:13 +0000 (14:41 +0200)]
sd-device: set_syspath - return ENODEV when passed something that is not a device

9 years agonetworkd man: fix man and config name.
Susant Sahani [Tue, 21 Apr 2015 08:04:05 +0000 (13:34 +0530)]
networkd man: fix man and config name.

Rename bond confs and man as well.

[tomegun: dropped a stray comma]

9 years agohwdb: add Chromebook pixel (2015) resolution fix
Benjamin Tissoires [Mon, 20 Apr 2015 22:01:53 +0000 (18:01 -0400)]
hwdb: add Chromebook pixel (2015) resolution fix

The atmel driver sets a default resolution of 20 for each touchpads it
creates. On this model, 10 is more appropriate.

The resolution is not set for the touchscreen by the kernel, so match
the name to both touchpad and touchscreen.