1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-21 02:50:18 +03:00

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.
This commit is contained in:
Didier Roche 2015-01-26 16:01:11 +01:00 committed by Martin Pitt
parent ac6e2f0dfc
commit 19e887e709
2 changed files with 9 additions and 11 deletions

View File

@ -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;

View File

@ -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;