sd-journal: allow SYSTEM and CURRENT_USER flags with sd_j_open_directory[_fd]

There is no reason not to. This makes journalctl -D ... --system work,
useful for example when viewing files from a deactivated container.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2016-08-11 22:48:58 -04:00
parent 1aaa68f535
commit 10752e829b
2 changed files with 11 additions and 6 deletions

View File

@ -129,10 +129,13 @@
<para><function>sd_journal_open_directory()</function> is similar to <function>sd_journal_open()</function> but
takes an absolute directory path as argument. All journal files in this directory will be opened and interleaved
automatically. This call also takes a flags argument. The only flags parameter accepted by this call is
<constant>SD_JOURNAL_OS_ROOT</constant>. If specified, the journal files are searched below the usual
<filename>/var/log/journal</filename> and <filename>/run/log/journal</filename> relative to the specified path,
instead of directly beneath it.</para>
automatically. This call also takes a flags argument. The flags parameters accepted by this call are
<constant>SD_JOURNAL_OS_ROOT</constant>, <constant>SD_JOURNAL_SYSTEM</constant>, and
<constant>SD_JOURNAL_CURRENT_USER</constant>. If <constant>SD_JOURNAL_OS_ROOT</constant> is specified, journal
files are searched for below the usual <filename>/var/log/journal</filename> and
<filename>/run/log/journal</filename> relative to the specified path, instead of directly beneath it.
The other two flags limit which files are opened, the same as for <function>sd_journal_open()</function>.
</para>
<para><function>sd_journal_open_directory_fd()</function> is similar to
<function>sd_journal_open_directory()</function>, but takes a file descriptor referencing a directory in the file

View File

@ -1815,7 +1815,8 @@ fail:
}
#define OPEN_DIRECTORY_ALLOWED_FLAGS \
SD_JOURNAL_OS_ROOT
(SD_JOURNAL_OS_ROOT | \
SD_JOURNAL_SYSTEM | SD_JOURNAL_CURRENT_USER )
_public_ int sd_journal_open_directory(sd_journal **ret, const char *path, int flags) {
sd_journal *j;
@ -1873,7 +1874,8 @@ fail:
}
#define OPEN_DIRECTORY_FD_ALLOWED_FLAGS \
SD_JOURNAL_OS_ROOT
(SD_JOURNAL_OS_ROOT | \
SD_JOURNAL_SYSTEM | SD_JOURNAL_CURRENT_USER )
_public_ int sd_journal_open_directory_fd(sd_journal **ret, int fd, int flags) {
sd_journal *j;