diff options
| author | Didier Roche <didrocks@ubuntu.com> | 2015-01-26 16:01:11 +0100 | 
|---|---|---|
| committer | Martin Pitt <martin.pitt@ubuntu.com> | 2015-02-18 16:33:46 +0100 | 
| commit | 19e887e709c31ee4366ec44a770d3963cd48cb86 (patch) | |
| tree | 8e629b2391aa63ca0560da658536547e25494f48 | |
| parent | ac6e2f0dfc2e800f01c79ecea2b811914110a7b9 (diff) | |
systemd-fsck: always connect to systemd-fsckd
Remove the plymouth running or show-status checks from systemd-fsck. Instead,
always connect to systemd-fsckd socket, and let this one decide if we display
progress or not.
| -rw-r--r-- | src/fsck/fsck.c | 12 | ||||
| -rw-r--r-- | src/fsckd/fsckd.c | 8 | 
2 files changed, 9 insertions, 11 deletions
| diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c index 6ccb2e7340..9ecba99bb1 100644 --- a/src/fsck/fsck.c +++ b/src/fsck/fsck.c @@ -45,7 +45,6 @@  static bool arg_skip = false;  static bool arg_force = false; -static bool arg_show_progress = false;  static const char *arg_repair = "-a";  static void start_target(const char *target) { @@ -131,8 +130,6 @@ static void test_files(void) {          }  #endif -        if (access("/run/systemd/show-status", F_OK) >= 0 || plymouth_running()) -                arg_show_progress = true;  }  static int process_progress(int fd, dev_t device_num) { @@ -286,11 +283,10 @@ int main(int argc, char *argv[]) {                          log_warning_errno(r, "fsck.%s cannot be used for %s: %m", type, device);          } -        if (arg_show_progress) -                if (pipe(progress_pipe) < 0) { -                        log_error_errno(errno, "pipe(): %m"); -                        return EXIT_FAILURE; -                } +        if (pipe(progress_pipe) < 0) { +                log_error_errno(errno, "pipe(): %m"); +                return EXIT_FAILURE; +        }          cmdline[i++] = "/sbin/fsck";          cmdline[i++] =  arg_repair; diff --git a/src/fsckd/fsckd.c b/src/fsckd/fsckd.c index 39fe899b99..6b2eeb067f 100644 --- a/src/fsckd/fsckd.c +++ b/src/fsckd/fsckd.c @@ -259,9 +259,11 @@ static int manager_new(Manager **ret, int fd) {                  return r;          m->connection_fd = fd; -        m->console = fopen("/dev/console", "we"); -        if (!m->console) -                return log_warning_errno(errno, "Can't connect to /dev/console: %m"); +        if (access("/run/systemd/show-status", F_OK) >= 0) { +                m->console = fopen("/dev/console", "we"); +                if (!m->console) +                        return log_warning_errno(errno, "Can't connect to /dev/console: %m"); +        }          m->percent = 100;          *ret = m; | 
