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 <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 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 automatically. This call also takes a flags argument. The flags parameters accepted by this call are
<constant>SD_JOURNAL_OS_ROOT</constant>. If specified, the journal files are searched below the usual <constant>SD_JOURNAL_OS_ROOT</constant>, <constant>SD_JOURNAL_SYSTEM</constant>, and
<filename>/var/log/journal</filename> and <filename>/run/log/journal</filename> relative to the specified path, <constant>SD_JOURNAL_CURRENT_USER</constant>. If <constant>SD_JOURNAL_OS_ROOT</constant> is specified, journal
instead of directly beneath it.</para> 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 <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 <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 \ #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) { _public_ int sd_journal_open_directory(sd_journal **ret, const char *path, int flags) {
sd_journal *j; sd_journal *j;
@ -1873,7 +1874,8 @@ fail:
} }
#define OPEN_DIRECTORY_FD_ALLOWED_FLAGS \ #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) { _public_ int sd_journal_open_directory_fd(sd_journal **ret, int fd, int flags) {
sd_journal *j; sd_journal *j;