From 8f71534e06d40312371fa80d932783e1f937bc59 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sun, 18 Sep 2022 13:24:12 +0900 Subject: [PATCH] udev: use block_device_get_whole_disk() This should not change anything effectively. --- src/udev/udevd.c | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/src/udev/udevd.c b/src/udev/udevd.c index 20a9a8cdbe..9900a9363e 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -473,13 +473,6 @@ static int device_get_whole_disk(sd_device *dev, sd_device **ret_device, const c if (device_for_action(dev, SD_DEVICE_REMOVE)) goto irrelevant; - r = sd_device_get_subsystem(dev, &val); - if (r < 0) - return log_device_debug_errno(dev, r, "Failed to get subsystem: %m"); - - if (!streq(val, "block")) - goto irrelevant; - r = sd_device_get_sysname(dev, &val); if (r < 0) return log_device_debug_errno(dev, r, "Failed to get sysname: %m"); @@ -493,16 +486,13 @@ static int device_get_whole_disk(sd_device *dev, sd_device **ret_device, const c if (STARTSWITH_SET(val, "dm-", "md", "drbd")) goto irrelevant; - r = sd_device_get_devtype(dev, &val); - if (r < 0 && r != -ENOENT) - return log_device_debug_errno(dev, r, "Failed to get devtype: %m"); - if (r >= 0 && streq(val, "partition")) { - r = sd_device_get_parent(dev, &dev); - if (r == -ENOENT) /* The device may be already removed. */ - goto irrelevant; - if (r < 0) - return log_device_debug_errno(dev, r, "Failed to get parent device: %m"); - } + r = block_device_get_whole_disk(dev, &dev); + if (IN_SET(r, + -ENOTBLK, /* The device is not a block device. */ + -ENODEV /* The whole disk device was not found, it may already be removed. */)) + goto irrelevant; + if (r < 0) + return log_device_debug_errno(dev, r, "Failed to get whole disk device: %m"); r = sd_device_get_devname(dev, &val); if (r == -ENOENT) -- 2.25.1