Lennart Poettering [Thu, 25 Dec 2014 02:20:20 +0000 (03:20 +0100)]
update TODO
Lennart Poettering [Thu, 25 Dec 2014 02:19:19 +0000 (03:19 +0100)]
machined: beef up machined image listing with creation/modification times of subvolumes
We make use of the btrfs subvol crtime for this, and for gpt images of a
manually managed xattr, if we can.
Lennart Poettering [Thu, 25 Dec 2014 02:14:09 +0000 (03:14 +0100)]
import: prefer usec_t over time_t
Lennart Poettering [Wed, 24 Dec 2014 15:55:03 +0000 (16:55 +0100)]
update TODO
Lennart Poettering [Wed, 24 Dec 2014 15:52:20 +0000 (16:52 +0100)]
update TODO
Lennart Poettering [Wed, 24 Dec 2014 15:44:56 +0000 (16:44 +0100)]
import: add a new "pull-gpt" verb for downloading GPT disk images from the internet
Lennart Poettering [Wed, 24 Dec 2014 15:43:46 +0000 (16:43 +0100)]
import: three minor fixes
Lennart Poettering [Wed, 24 Dec 2014 15:43:20 +0000 (16:43 +0100)]
import: print friendly error messages on errors
Lennart Poettering [Wed, 24 Dec 2014 15:42:41 +0000 (16:42 +0100)]
import: remember when we were finished importing
Lennart Poettering [Wed, 24 Dec 2014 15:41:51 +0000 (16:41 +0100)]
import: make the dkr import URL a part of the import object, not the import name object
Lennart Poettering [Wed, 24 Dec 2014 15:40:30 +0000 (16:40 +0100)]
machined: fix writability check for GPT images
Lennart Poettering [Wed, 24 Dec 2014 15:39:55 +0000 (16:39 +0100)]
util: make creation time xattr logic more generic
Lennart Poettering [Tue, 23 Dec 2014 22:38:13 +0000 (23:38 +0100)]
sd-bus: rename sd_bus_open_system_container() to sd_bus_open_system_machine()
Pretty much everywhere else we use the generic term "machine" when
referring to containers in API, so let's do though in sd-bus too. In
particular, since the concept of a "container" exists in sd-bus too, but
as part of the marshalling system.
Shawn Paul Landden [Tue, 23 Dec 2014 21:47:16 +0000 (13:47 -0800)]
util: fix strict aliasing violations in use of struct inotify_event v5
There is alot of cleanup that will have to happen to turn on
-fstrict-aliasing, but I think our code should be "correct" to the rule.
Peter Hutterer [Tue, 23 Dec 2014 00:14:19 +0000 (10:14 +1000)]
hwdb: add rule and first entry for PS/2 mice
https://bugs.freedesktop.org/show_bug.cgi?id=87037
Frank Theile [Tue, 23 Dec 2014 21:53:40 +0000 (07:53 +1000)]
hwdb: Microsoft Wireless Laser Mouse 8000 DPI data
https://bugs.freedesktop.org/show_bug.cgi?id=87587
Lennart Poettering [Tue, 23 Dec 2014 20:36:14 +0000 (21:36 +0100)]
update TODO
Lennart Poettering [Tue, 23 Dec 2014 21:43:16 +0000 (22:43 +0100)]
shell-completion: add full support for completing busctl command lines, with services, objects, interfaces, members, and signatures
Lennart Poettering [Tue, 23 Dec 2014 21:42:55 +0000 (22:42 +0100)]
busctl: when introspecting objects, optionally limit output by interface name
Lennart Poettering [Tue, 23 Dec 2014 20:34:55 +0000 (21:34 +0100)]
gitignore: hide test-lldp files
Lennart Poettering [Tue, 23 Dec 2014 20:28:22 +0000 (21:28 +0100)]
machined: introduce polkit for OpenLogin() call
This way "machinectl login" can be opened up to run without privileges.
Lennart Poettering [Tue, 23 Dec 2014 20:06:01 +0000 (21:06 +0100)]
bus: add missing bus-policy.[ch]
Accidentally forgot to commit this. Sorry!
Lennart Poettering [Tue, 23 Dec 2014 18:19:11 +0000 (19:19 +0100)]
build-sys: move core/build.h → shared/build.h
After all, pretty much all our tools include it, and it should hence be
shared.
Also move sysfs-show.h from core/ to login/, since it has no point to
exist in core.
Lennart Poettering [Tue, 23 Dec 2014 18:14:26 +0000 (19:14 +0100)]
update TODO
Lennart Poettering [Tue, 23 Dec 2014 18:14:04 +0000 (19:14 +0100)]
machinectl: rework 'machinectl login' to use OpenMachineLogin()
Lennart Poettering [Tue, 23 Dec 2014 18:12:49 +0000 (19:12 +0100)]
machined: add new call OpenMachineLogin() that starts a getty in a container on a pty and returns the pty master fd to the client
This is a one-stop solution for "machinectl login", and should simplify
getting logins in containers.
Lennart Poettering [Tue, 23 Dec 2014 18:11:48 +0000 (19:11 +0100)]
sd-bus: teach x-container-unix: bus protoocol to connect to the namespace of a PID instead of a container name
Lennart Poettering [Tue, 23 Dec 2014 18:07:01 +0000 (19:07 +0100)]
condition: don't include files from src/core
Lennart Poettering [Tue, 23 Dec 2014 18:05:23 +0000 (19:05 +0100)]
import: fix compiler warning
Lennart Poettering [Tue, 23 Dec 2014 18:04:56 +0000 (19:04 +0100)]
env-util: don't include files from src/core/
Lennart Poettering [Tue, 23 Dec 2014 17:36:04 +0000 (18:36 +0100)]
core: rearrange code so that libsystemd/sd-bus/ does not include header files from core
Stuff in src/shared or src/libsystemd should *never* include code from
src/core or any of the tools, so don't do that here either. It's not OK!
Daniel Mack [Tue, 23 Dec 2014 17:36:29 +0000 (18:36 +0100)]
bus-proxyd: ignore errors from sd_bus_creds_get_well_known_names()
sd_bus_creds_get_well_known_names() fails with -ENODATA in case the
message has no names attached, which is intended behavior if the
remote connection didn't own any names at the time of sending.
The function already deals with 'sender_names' being an empty strv,
so we can just continue in such cases.
Daniel Mack [Tue, 23 Dec 2014 12:37:52 +0000 (13:37 +0100)]
bus-proxyd: handle -ESRCH and -ENXIO gracefully
Messages to destinations that are not currently owned by any bus connection
will cause kdbus related function to return with either -ENXIO or -ESRCH.
Such conditions should not make the proxyd terminate but send a sane
SD_BUS_ERROR_NAME_HAS_NO_OWNER error reply to the proxied connection.
Lennart Poettering [Tue, 23 Dec 2014 01:11:48 +0000 (02:11 +0100)]
update TODO
Lennart Poettering [Tue, 23 Dec 2014 01:10:08 +0000 (02:10 +0100)]
util: add allocation loop to gettyname_malloc()
Lennart Poettering [Tue, 23 Dec 2014 01:02:08 +0000 (02:02 +0100)]
nspawn,pty: port over to new ptsname_malloc() helper
Lennart Poettering [Tue, 23 Dec 2014 00:58:49 +0000 (01:58 +0100)]
systemd-run: support -t mode when combined with -M
For that, ask machined for a container PTY and use that.
Lennart Poettering [Mon, 22 Dec 2014 20:17:29 +0000 (21:17 +0100)]
machined: add OpenMachinePTY() bus call for allocating a PTY device within a container
Then, port "machinectl" over to make use of it.
Lennart Poettering [Mon, 22 Dec 2014 19:39:10 +0000 (20:39 +0100)]
systemd-run: add --quiet mode to suppress informational message on TTY usage
Lennart Poettering [Mon, 22 Dec 2014 19:33:45 +0000 (20:33 +0100)]
machinectl,nspawn: don't print extra final newline if pty terminal output was newline-terinated anyway
Lennart Poettering [Mon, 22 Dec 2014 18:45:32 +0000 (19:45 +0100)]
run: add a new "-t" mode for invoking a binary on an allocated TTY
Lennart Poettering [Mon, 22 Dec 2014 18:42:27 +0000 (19:42 +0100)]
import: rename 'poll-dck' to 'pull-dkr'
I figure "pull-dck" is not a good name, given that one could certainly
read the verb in a way that might be funny for 16year-olds. ;-)
Also, don't hardcode the index URL to use, make it runtime and configure
time configurable instead.
Tom Gundersen [Mon, 22 Dec 2014 13:53:40 +0000 (14:53 +0100)]
shared: json - support escaping utf16 surrogate pairs
We originally only supported escaping ucs2 encoded characters (as \uxxxx). This
only covers the BMP. Support escaping also utf16 surrogate pairs (on the form
\uxxxx\uyyyy) to cover all of unicode.
Tom Gundersen [Mon, 22 Dec 2014 11:57:05 +0000 (12:57 +0100)]
shared: utf8 - support decoding the full utf16
We originally only supported the BMP (i.e., we treated UTF-16 as UCS-2).
Tom Gundersen [Sun, 21 Dec 2014 23:58:26 +0000 (00:58 +0100)]
shared: utf8 - support ucs4 -> utf8
Originally we only supported ucs2, so move the ucs4 version from libsystemd-terminal to shared
and use that everywhere.
Daniel Mack [Mon, 22 Dec 2014 18:59:53 +0000 (19:59 +0100)]
sd-bus: ignore KDBUS_ITEM_TIMESTAMP in kernel messages
Kernel notifications carry a timestamp now, so make sure
bus_kernel_translate_message() doesn't complain when it stumbles across
them.
Daniel Mack [Mon, 22 Dec 2014 15:51:15 +0000 (16:51 +0100)]
busname: fix CMD_FREE ioctl
The KDBUS_CMD_FREE ioctl struct has a size field now, which needs to be set.
Dave Reisner [Mon, 22 Dec 2014 02:28:49 +0000 (21:28 -0500)]
verbs: fix typo in error message
Frank Theile [Sun, 21 Dec 2014 22:18:55 +0000 (08:18 +1000)]
hwdb: Lenovo USB mouse MO28UOL DPI data
https://bugs.freedesktop.org/show_bug.cgi?id=87504
Daniel Mack [Sat, 20 Dec 2014 18:23:49 +0000 (19:23 +0100)]
sd-bus: sync kdbus.h (ABI break)
Sync kdbus.h with upstream changes:
* Two optional cancellation points where added for synchronously
blocking KDBUS_CMD_SEND commands: A sigmask to change the mask
of accepted signals before the task is put to sleep, and a
generic file descriptor that can be written to, in order to cancel
the command. Both methods are currently unused.
* The KDBUS_CMD_CANCEL ioctl was removed. sd-bus was never using
that command, so there's no change needed.
* Some kerneldoc fixes
Umut Tezduyar Lindskog [Fri, 19 Dec 2014 10:47:30 +0000 (11:47 +0100)]
build: add option to disable hwdb
[tomegun: fix Makefile-man.am, based on fix from Michael Biebl]
Tom Gundersen [Fri, 19 Dec 2014 21:42:03 +0000 (22:42 +0100)]
sd-lldp: minor header cleanup
* (potentially) public headers must reside in src/systemd/ (not in
src/libsystemd*)
* some private (not prefixed with sd_) functions moved from sd-lldp.h to
lldp-internal.h
* introduce lldp-util.h for the cleanup macro, as these should not be public
* rename the cleanup macro, we always name them _cleanup_foo_, never
_cleanup_sd_foo_
* mark some function arguments as 'const'
Lennart Poettering [Fri, 19 Dec 2014 19:44:49 +0000 (20:44 +0100)]
update TODO
Lennart Poettering [Fri, 19 Dec 2014 19:43:18 +0000 (20:43 +0100)]
machined: add a full bus object for images
Lennart Poettering [Fri, 19 Dec 2014 19:07:23 +0000 (20:07 +0100)]
machined: add new GetImage() bus call for retrieving the bus path for an image
Lennart Poettering [Fri, 19 Dec 2014 19:04:55 +0000 (20:04 +0100)]
sysv-generator: properly add Makefile symlink
Lennart Poettering [Fri, 19 Dec 2014 19:03:36 +0000 (20:03 +0100)]
util: rename ignore_file() to hidden_file()
hidden_file() is a bit more precise, since dot files usually shouldn't
be ignored, but certainly be considered hidden.
Lennart Poettering [Fri, 19 Dec 2014 18:19:20 +0000 (19:19 +0100)]
update TODO
Lennart Poettering [Fri, 19 Dec 2014 18:19:05 +0000 (19:19 +0100)]
machinectl: port machinectl to new verbs logic
Lennart Poettering [Fri, 19 Dec 2014 18:18:48 +0000 (19:18 +0100)]
import: Verb[] array can be static, too
Lennart Poettering [Fri, 19 Dec 2014 18:17:52 +0000 (19:17 +0100)]
verbs: when invoking the default verb, pass a faked argv array, with just the verb in it
That way the dispatcher calls know how they got called.
Lennart Poettering [Fri, 19 Dec 2014 17:42:50 +0000 (18:42 +0100)]
machined/machinectl: add logic to show list of available images
This adds a new bus call to machined that enumerates /var/lib/container
and returns all trees stored in it, distuingishing three types:
- GPT disk images, which are files suffixed with ".gpt"
- directory trees
- btrfs subvolumes
Lennart Poettering [Fri, 19 Dec 2014 17:40:23 +0000 (18:40 +0100)]
util: when creating temporary filename for atomic creation of files, add an extra "#" to the name
That way, we have a simple, somewhat reliable way to detect such
temporary files, by simply checking if they start with ".#".
Michal Schmidt [Fri, 19 Dec 2014 16:11:22 +0000 (17:11 +0100)]
journal: skipping of exhausted journal files is bad if direction changed
EOF is meaningless if the direction of iteration changes.
Move the EOF optimization under the direction check.
This fixes test-journal-interleaving for me.
Thanks to Filipe Brandenburger for telling me about the failure.
Michal Schmidt [Fri, 19 Dec 2014 13:42:55 +0000 (14:42 +0100)]
journal: make next_with_matches() always use f->current_offset
next_with_matches() is odd in that its "unit64_t *offset" parameter is
both input and output. In other it's purely for output.
The function is called from two places in next_beyond_location(). In
both of them "&cp" is used as the argument and in both cases cp is
guaranteed to equal f->current_offset.
Let's just have next_with_matches() ignore "*offset" on input and
operate with f->current_offset.
I did not investigate why it is, but it makes my usual benchmark run
reproducibly faster:
$ time ./journalctl --since=2014-06-01 --until=2014-07-01 > /dev/null
real 0m4.032s
user 0m3.896s
sys 0m0.135s
(Compare to preceding commit, where real was 4.4s.)
Michal Schmidt [Fri, 19 Dec 2014 14:05:30 +0000 (15:05 +0100)]
journal: fix skipping of duplicate entries in iteration
I accidentally broke the detection of duplicate entries in
7943f42275
"journal: optimize iteration by returning previously found candidate
entry".
When we have a known location of a candidate entry, we must not return
from next_beyond_location() immediately. We must go through the
duplicates detection to make sure the candidate differs from the
already iterated entry.
This fix slows down iteration a bit, but it's still faster than it
was before the rework.
$ time ./journalctl --since=2014-06-01 --until=2014-07-01 > /dev/null
real 0m4.448s
user 0m4.298s
sys 0m0.149s
(Compare with results from commit
7943f42275, where real was 5.3s before
the rework.)
Tom Gundersen [Fri, 19 Dec 2014 07:34:04 +0000 (08:34 +0100)]
networkd: link - plug leak
Tom Gundersen [Fri, 19 Dec 2014 07:33:46 +0000 (08:33 +0100)]
networkctl: lldp - respect arg_legend
Susant Sahani [Thu, 11 Dec 2014 04:29:55 +0000 (09:59 +0530)]
LLDP: Add support for networkctl
Susant Sahani [Sun, 23 Nov 2014 04:26:14 +0000 (09:56 +0530)]
networkd: integrate LLDP
This patch integrates LLDP with networkd.
Example conf:
file : lldp.network
[Match]
Name=em1
[Network]
LLDP=yes
Susant Sahani [Sun, 23 Nov 2014 04:16:36 +0000 (09:46 +0530)]
networkd: Introduce Link Layer Discovery Protocol (LLDP)
This patch introduces LLDP support to networkd. it implements the
receiver side of the protocol.
The Link Layer Discovery Protocol (LLDP) is an industry-standard,
vendor-neutral method to allow networked devices to advertise
capabilities, identity, and other information onto a LAN. The Layer 2
protocol, detailed in IEEE 802.1AB-2005.LLDP allows network devices
that operate at the lower layers of a protocol stack (such as
Layer 2 bridges and switches) to learn some of the capabilities
and characteristics of LAN devices available to higher
layer protocols.
Tom Gundersen [Fri, 19 Dec 2014 02:16:45 +0000 (03:16 +0100)]
networkctl: port to verbs helper
Tom Gundersen [Fri, 19 Dec 2014 02:01:27 +0000 (03:01 +0100)]
systemd-hwdb: port to new verbs helper
Tom Gundersen [Fri, 19 Dec 2014 02:00:56 +0000 (03:00 +0100)]
import: dck - fix curl error handling
Lennart Poettering [Fri, 19 Dec 2014 01:07:35 +0000 (02:07 +0100)]
update TODO
Lennart Poettering [Fri, 19 Dec 2014 00:59:52 +0000 (01:59 +0100)]
import: add new minimal tool "systemd-import" for pulling down foreign containers and install them locally
This adds a simply but powerful tool for downloading container images
from the most popular container solution used today. Use it like
this:
# systemd-import pull-dck mattdm/fedora
# systemd-nspawn -M fedora
This will donwload the layers for "mattdm/fedora", and make them
available locally as /var/lib/container/fedora.
The tool is pretty complete, as long as it's only about pulling down
images, or updating them. Pushing or searching is not supported yet.
Lennart Poettering [Fri, 19 Dec 2014 00:48:05 +0000 (01:48 +0100)]
util: add generalization of verb parsing for command line tools
We should move loginctl, timedatectl, machinectl over to use this new
API instead of a manual one.
Lennart Poettering [Fri, 19 Dec 2014 00:47:19 +0000 (01:47 +0100)]
util: make sure rm_rf() can be called on symlinks (with the effect of deleting it)
Lennart Poettering [Fri, 19 Dec 2014 00:31:59 +0000 (01:31 +0100)]
strv: ass new strv_is_uniq() and strv_reverse() calls
Lennart Poettering [Fri, 19 Dec 2014 00:31:27 +0000 (01:31 +0100)]
execute: the runtime directory can only be on tmpfs, hence don't use rm_rf_dangerous() needlessly
Lennart Poettering [Thu, 18 Dec 2014 00:44:34 +0000 (01:44 +0100)]
nss-myhostname: introduce is_gateway() similar to the existing is_hostname()
Zbigniew Jędrzejewski-Szmek [Thu, 18 Dec 2014 23:08:13 +0000 (18:08 -0500)]
load-fragment: allow quoting in command name and document allowed escapes
The handling of the command name and other arguments is unified. This
simplifies things and should make them more predictable for users.
Incidentally, this makes ExecStart handling match the .desktop file
specification, apart for the requirment for an absolute path.
https://bugs.freedesktop.org/show_bug.cgi?id=86171
Zbigniew Jędrzejewski-Szmek [Thu, 18 Dec 2014 22:51:38 +0000 (17:51 -0500)]
Treat a trailing backslash as an error
Commit
a2a5291b3f5 changed the parser to reject unfinished quoted
strings. Unfortunately it introduced an error where a trailing
backslash would case an infinite loop. Of course this must fixed, but
the question is what to to instead. Allowing trailing backslashes and
treating them as normal characters would be one option, but this seems
suboptimal. First, there would be inconsistency between handling of
quoting and of backslashes. Second, a trailing backslash is most
likely an error, at it seems better to point it out to the user than
to try to continue.
Updated rules:
ExecStart=/bin/echo \\ → OK, prints a backslash
ExecStart=/bin/echo \ → error
ExecStart=/bin/echo "x → error
ExecStart=/bin/echo "x"y → error
Zbigniew Jędrzejewski-Szmek [Thu, 18 Dec 2014 22:01:42 +0000 (17:01 -0500)]
test-strv: use STRV_MAKE
Zbigniew Jędrzejewski-Szmek [Thu, 18 Dec 2014 17:33:05 +0000 (12:33 -0500)]
tree-wide: make condition_free_list return NULL
Zbigniew Jędrzejewski-Szmek [Thu, 18 Dec 2014 17:29:24 +0000 (12:29 -0500)]
core: make exec_command_free_list return NULL
Zbigniew Jędrzejewski-Szmek [Thu, 18 Dec 2014 23:42:04 +0000 (18:42 -0500)]
hwdb: move Logitech mouse to the right spot
Erik Auerswald [Thu, 18 Dec 2014 23:46:29 +0000 (18:46 -0500)]
hwdb: Logitech, Inc. RX 250 Optical Mouse DPI data
https://bugs.freedesktop.org/show_bug.cgi?id=87435
Tim JP [Thu, 18 Dec 2014 23:40:44 +0000 (18:40 -0500)]
hwdb: Logitech, Inc. RX 300 Optical Mouse DPI data
https://bugs.freedesktop.org/show_bug.cgi?id=87456
Zbigniew Jędrzejewski-Szmek [Thu, 18 Dec 2014 22:40:32 +0000 (17:40 -0500)]
test-cap-list: allow mismatch in case
Dave Reisner [Thu, 18 Dec 2014 23:10:46 +0000 (18:10 -0500)]
path-util: fix breakage in path_is_mount_point
This fixes 2 problems introduced by
6feeeab0bc:
1) If name_to_handle_at returns ENOSYS for the child, we'll wrongly
return -ENOSYS when it returns the same for the parent. Immediately
jump to the fallback logic when we get ENOSYS.
2) If name_to_handle_at returns EOPNOTSUPP for the child but suceeds
for the parent, we'll be comparing an uninitialized value (mount_id) to
an initialized value (mount_id_parent). Initialize the mount_id
variables to invalid mount_ids to avoid this.
Tom Gundersen [Mon, 15 Dec 2014 23:48:24 +0000 (00:48 +0100)]
systemd-hwdb: introduce new tool
This pulls out the hwdb managment from udevadm into an independent tool.
The old code is left in place for backwards compatibility, and easy of
testing, but all documentation is dropped to encourage use of the new
tool instead.
Alin Rauta [Wed, 17 Dec 2014 15:35:36 +0000 (07:35 -0800)]
networkd: add FDB support
Michal Schmidt [Wed, 17 Dec 2014 14:46:30 +0000 (15:46 +0100)]
journal: next_with_matches() now does not need a mapped object as input
Now that journal_file_next_entry() does not need a pointer to the
current object, next_with_matches() does not need it either.
Michal Schmidt [Wed, 17 Dec 2014 14:45:10 +0000 (15:45 +0100)]
journal: journal_file_next_entry() does not need pointer to current Object
The current offset is sufficient information.
Michal Schmidt [Wed, 17 Dec 2014 14:07:25 +0000 (15:07 +0100)]
journal: optimize iteration by returning previously found candidate entry
In next_beyond_location() when the JournalFile's location type is
LOCATION_SEEK, it means there's nothing to do, because we already have
the location of the candidate entry. Do an early return. Note that now
next_beyond_location() does not anymore guarantee on return that the
entry is mapped, but previous patches made sure the caller does not
care.
This optimization is at least as good as "journal: optimize iteration:
skip files that cannot improve current candidate entry" was.
Timing results on my workstation, using:
$ time ./journalctl -q --since=2014-06-01 --until=2014-07-01 > /dev/null
Before "Revert "journal: optimize iteration: skip files that cannot
improve current candidate entry":
real 0m5.349s
user 0m5.166s
sys 0m0.181s
Now:
real 0m3.901s
user 0m3.724s
sys 0m0.176s
Michal Schmidt [Thu, 18 Dec 2014 13:21:55 +0000 (14:21 +0100)]
journal: optimize iteration by skipping exhausted files
If from a previous iteration we know we are at the end of a journal
file, don't bother looking into the file again. This is complicated by
the fact that the EOF does not have to be permanent (think of
"journalctl -f"). So we also check if the number of entries in the
journal file changed.
This optimization has a similar effect as "journal: optimize iteration:
skip whole files behind current location" had.
Michal Schmidt [Wed, 17 Dec 2014 14:37:52 +0000 (15:37 +0100)]
journal: drop unnecessary parameters of next_beyond_location()
offset is redundant, because the caller can rely on f->current_offset.
The object pointer the function saves in *ret is thrown away by the caller.
Michal Schmidt [Thu, 18 Dec 2014 08:56:04 +0000 (09:56 +0100)]
journal: remove redundant variable new_offset
The file's current_offset is already updated at this point, so let's use
it.
Michal Schmidt [Wed, 17 Dec 2014 13:06:28 +0000 (14:06 +0100)]
journal: compare candidate entries using JournalFiles' locations
When comparing the locations of candidate entries, we can rely on the
location information stored in struct JournalFile.