chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
delta: diff returns 1 when files differ, ignore this
[elogind.git]
/
src
/
quotacheck
/
quotacheck.c
diff --git
a/src/quotacheck/quotacheck.c
b/src/quotacheck/quotacheck.c
index efd6e18308ae5d201d8d850d06679e668285b2d7..9ae3abd99075e4312a87b847ef2e3150ce39bc50 100644
(file)
--- a/
src/quotacheck/quotacheck.c
+++ b/
src/quotacheck/quotacheck.c
@@
-42,10
+42,9
@@
static int parse_proc_cmdline_item(const char *key, const char *value) {
else if (streq(value, "skip"))
arg_skip = true;
else
else if (streq(value, "skip"))
arg_skip = true;
else
- log_warning("Invalid quotacheck.mode= parameter. Ignoring.");
+ log_warning("Invalid quotacheck.mode= parameter '%s'. Ignoring.", value);
+ }
- } else if (startswith(key, "quotacheck."))
- log_warning("Invalid quotacheck parameter. Ignoring.");
#ifdef HAVE_SYSV_COMPAT
else if (streq(key, "forcequotacheck") && !value) {
log_warning("Please use 'quotacheck.mode=force' rather than 'forcequotacheck' on the kernel command line.");
#ifdef HAVE_SYSV_COMPAT
else if (streq(key, "forcequotacheck") && !value) {
log_warning("Please use 'quotacheck.mode=force' rather than 'forcequotacheck' on the kernel command line.");
@@
-57,6
+56,7
@@
static int parse_proc_cmdline_item(const char *key, const char *value) {
}
static void test_files(void) {
}
static void test_files(void) {
+
#ifdef HAVE_SYSV_COMPAT
if (access("/forcequotacheck", F_OK) >= 0) {
log_error("Please pass 'quotacheck.mode=force' on the kernel command line rather than creating /forcequotacheck on the root file system.");
#ifdef HAVE_SYSV_COMPAT
if (access("/forcequotacheck", F_OK) >= 0) {
log_error("Please pass 'quotacheck.mode=force' on the kernel command line rather than creating /forcequotacheck on the root file system.");
@@
-74,6
+74,7
@@
int main(int argc, char *argv[]) {
};
pid_t pid;
};
pid_t pid;
+ int r;
if (argc > 1) {
log_error("This program takes no arguments.");
if (argc > 1) {
log_error("This program takes no arguments.");
@@
-86,7
+87,10
@@
int main(int argc, char *argv[]) {
umask(0022);
umask(0022);
- parse_proc_cmdline(parse_proc_cmdline_item);
+ r = parse_proc_cmdline(parse_proc_cmdline_item);
+ if (r < 0)
+ log_warning_errno(r, "Failed to parse kernel command line, ignoring: %m");
+
test_files();
if (!arg_force) {
test_files();
if (!arg_force) {
@@
-99,7
+103,7
@@
int main(int argc, char *argv[]) {
pid = fork();
if (pid < 0) {
pid = fork();
if (pid < 0) {
- log_error
(
"fork(): %m");
+ log_error
_errno(errno,
"fork(): %m");
return EXIT_FAILURE;
} else if (pid == 0) {
/* Child */
return EXIT_FAILURE;
} else if (pid == 0) {
/* Child */
@@
-107,5
+111,7
@@
int main(int argc, char *argv[]) {
_exit(1); /* Operational error */
}
_exit(1); /* Operational error */
}
- return wait_for_terminate_and_warn("quotacheck", pid) >= 0 ? EXIT_SUCCESS : EXIT_FAILURE;
+ r = wait_for_terminate_and_warn("quotacheck", pid, true);
+
+ return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
}
}