You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
2.0 KiB
48 lines
2.0 KiB
From 9f2aa24a4cad32e10cba693be95f3ff9c46ee73e Mon Sep 17 00:00:00 2001 |
|
From: Yu Watanabe <watanabe.yu+github@gmail.com> |
|
Date: Sun, 27 Aug 2017 16:34:53 +0900 |
|
Subject: [PATCH] journal-remote: show error message if output file name does |
|
not end with .journal |
|
|
|
`journalctl -o export | systemd-journal-remote -o /tmp/dir -` |
|
gives the following error messages. |
|
``` |
|
Failed to open output journal /tmp/dir: Invalid argument |
|
Failed to get writer for source stdin: Invalid argument |
|
Failed to create source for fd:0 (stdin): Invalid argument |
|
``` |
|
And these are hard to understand what is the problem. |
|
This commit makes journal-remote check whether the output file name |
|
ends with .journal suffix or not, and if not, output error message. |
|
|
|
(cherry picked from commit 6b1b9f75c85d26ddbda62e7b7afa6944044f4f95) |
|
|
|
Resolves: bz#1267552 |
|
--- |
|
src/journal-remote/journal-remote.c | 13 +++++++++---- |
|
1 file changed, 9 insertions(+), 4 deletions(-) |
|
|
|
diff --git a/src/journal-remote/journal-remote.c b/src/journal-remote/journal-remote.c |
|
index e65daf6a0b..431e28329b 100644 |
|
--- a/src/journal-remote/journal-remote.c |
|
+++ b/src/journal-remote/journal-remote.c |
|
@@ -1479,10 +1479,15 @@ static int parse_argv(int argc, char *argv[]) { |
|
arg_split_mode = JOURNAL_WRITE_SPLIT_NONE; |
|
} |
|
|
|
- if (arg_split_mode == JOURNAL_WRITE_SPLIT_NONE |
|
- && arg_output && is_dir(arg_output, true) > 0) { |
|
- log_error("For SplitMode=none, output must be a file."); |
|
- return -EINVAL; |
|
+ if (arg_split_mode == JOURNAL_WRITE_SPLIT_NONE && arg_output) { |
|
+ if (is_dir(arg_output, true) > 0) { |
|
+ log_error("For SplitMode=none, output must be a file."); |
|
+ return -EINVAL; |
|
+ } |
|
+ if (!endswith(arg_output, ".journal")) { |
|
+ log_error("For SplitMode=none, output file name must end with .journal."); |
|
+ return -EINVAL; |
|
+ } |
|
} |
|
|
|
if (arg_split_mode == JOURNAL_WRITE_SPLIT_HOST
|
|
|