mirror of
https://github.com/systemd/systemd.git
synced 2025-01-26 14:04:03 +03:00
fsck: skip checking / if it is writable
This commit is contained in:
parent
6c6a7c0153
commit
a84f519214
10
src/fsck.c
10
src/fsck.c
@ -24,6 +24,7 @@
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
#include <libudev.h>
|
||||
#include <dbus/dbus.h>
|
||||
@ -170,6 +171,7 @@ int main(int argc, char *argv[]) {
|
||||
root_directory = false;
|
||||
} else {
|
||||
struct stat st;
|
||||
struct timespec times[2];
|
||||
|
||||
/* Find root device */
|
||||
|
||||
@ -182,6 +184,14 @@ int main(int argc, char *argv[]) {
|
||||
if (major(st.st_dev) == 0)
|
||||
return 0;
|
||||
|
||||
/* check if we are already writable */
|
||||
times[0] = st.st_atim;
|
||||
times[1] = st.st_mtim;
|
||||
if (utimensat(AT_FDCWD, "/", times, 0) == 0) {
|
||||
log_error("Root directory is writable, skip check.");
|
||||
goto finish;
|
||||
}
|
||||
|
||||
if (!(udev = udev_new())) {
|
||||
log_error("Out of memory");
|
||||
goto finish;
|
||||
|
Loading…
x
Reference in New Issue
Block a user