diff options
Diffstat (limited to 'src/udev/udev-builtin-btrfs.c')
-rw-r--r-- | src/udev/udev-builtin-btrfs.c | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/src/udev/udev-builtin-btrfs.c b/src/udev/udev-builtin-btrfs.c index 2e8535598d..85dba3d099 100644 --- a/src/udev/udev-builtin-btrfs.c +++ b/src/udev/udev-builtin-btrfs.c @@ -4,34 +4,33 @@ #include <stdlib.h> #include <sys/ioctl.h> -#if HAVE_LINUX_BTRFS_H -#include <linux/btrfs.h> -#endif - +#include "device-util.h" #include "fd-util.h" #include "missing.h" #include "string-util.h" -#include "udev.h" +#include "strxcpyx.h" +#include "udev-builtin.h" +#include "util.h" -static int builtin_btrfs(struct udev_device *dev, int argc, char *argv[], bool test) { +static int builtin_btrfs(sd_device *dev, int argc, char *argv[], bool test) { struct btrfs_ioctl_vol_args args = {}; _cleanup_close_ int fd = -1; - int err; + int r; if (argc != 3 || !streq(argv[1], "ready")) - return EXIT_FAILURE; + return log_device_error_errno(dev, EINVAL, "Invalid arguments"); fd = open("/dev/btrfs-control", O_RDWR|O_CLOEXEC); if (fd < 0) - return EXIT_FAILURE; + return log_device_debug_errno(dev, errno, "Failed to open /dev/btrfs-control: %m"); strscpy(args.name, sizeof(args.name), argv[2]); - err = ioctl(fd, BTRFS_IOC_DEVICES_READY, &args); - if (err < 0) - return EXIT_FAILURE; + r = ioctl(fd, BTRFS_IOC_DEVICES_READY, &args); + if (r < 0) + return log_device_debug_errno(dev, errno, "Failed to call BTRFS_IOC_DEVICES_READY: %m"); - udev_builtin_add_property(dev, test, "ID_BTRFS_READY", one_zero(err == 0)); - return EXIT_SUCCESS; + udev_builtin_add_property(dev, test, "ID_BTRFS_READY", one_zero(r == 0)); + return 0; } const struct udev_builtin udev_builtin_btrfs = { |