summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/fsck/fsck.c35
1 files changed, 14 insertions, 21 deletions
diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c
index bd17948a29..7eaf902e75 100644
--- a/src/fsck/fsck.c
+++ b/src/fsck/fsck.c
@@ -29,14 +29,14 @@
#include <sys/stat.h>
#include "sd-bus.h"
-#include "libudev.h"
+#include "sd-device.h"
#include "util.h"
#include "special.h"
#include "bus-util.h"
#include "bus-error.h"
#include "bus-common-errors.h"
-#include "udev-util.h"
+#include "device-util.h"
#include "path-util.h"
#include "socket-util.h"
#include "fsckd/fsckd.h"
@@ -199,8 +199,7 @@ int main(int argc, char *argv[]) {
pid_t pid;
int progress_rc;
siginfo_t status;
- _cleanup_udev_unref_ struct udev *udev = NULL;
- _cleanup_udev_device_unref_ struct udev_device *udev_device = NULL;
+ _cleanup_device_unref_ sd_device *dev = NULL;
const char *device, *type;
bool root_directory;
_cleanup_close_pair_ int progress_pipe[2] = { -1, -1 };
@@ -229,12 +228,6 @@ int main(int argc, char *argv[]) {
goto finish;
}
- udev = udev_new();
- if (!udev) {
- r = log_oom();
- goto finish;
- }
-
if (argc > 1) {
device = argv[1];
root_directory = false;
@@ -244,9 +237,9 @@ int main(int argc, char *argv[]) {
goto finish;
}
- udev_device = udev_device_new_from_devnum(udev, 'b', st.st_rdev);
- if (!udev_device) {
- r = log_error_errno(errno, "Failed to detect device %s", device);
+ r = sd_device_new_from_devnum(&dev, 'b', st.st_rdev);
+ if (r < 0) {
+ log_error_errno(r, "Failed to detect device %s: %m", device);
goto finish;
}
} else {
@@ -275,15 +268,15 @@ int main(int argc, char *argv[]) {
goto finish;
}
- udev_device = udev_device_new_from_devnum(udev, 'b', st.st_dev);
- if (!udev_device) {
- r = log_error_errno(errno, "Failed to detect root device.");
+ r = sd_device_new_from_devnum(&dev, 'b', st.st_dev);
+ if (r < 0) {
+ log_error_errno(r, "Failed to detect root device: %m");
goto finish;
}
- device = udev_device_get_devnode(udev_device);
- if (!device) {
- log_error("Failed to detect device node of root directory.");
+ r = sd_device_get_devname(dev, &device);
+ if (r < 0) {
+ log_error_errno(r, "Failed to detect device node of root directory: %m");
r = -ENXIO;
goto finish;
}
@@ -291,8 +284,8 @@ int main(int argc, char *argv[]) {
root_directory = true;
}
- type = udev_device_get_property_value(udev_device, "ID_FS_TYPE");
- if (type) {
+ r = sd_device_get_property_value(dev, "ID_FS_TYPE", &type);
+ if (r >= 0) {
r = fsck_exists(type);
if (r == -ENOENT) {
log_info("fsck.%s doesn't exist, not checking file system on %s", type, device);