From 4eb5f1db441897593eece4c033d06a59262ecff7 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 11 Jul 2022 12:02:31 +0200 Subject: [PATCH] sd-device: shorten code a bit --- src/libsystemd/sd-device/sd-device.c | 24 +++++++++--------------- src/systemd/sd-device.h | 4 ++-- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c index 62531b9564b..a53f31e5ff7 100644 --- a/src/libsystemd/sd-device/sd-device.c +++ b/src/libsystemd/sd-device/sd-device.c @@ -1603,11 +1603,10 @@ _public_ int sd_device_get_usec_initialized(sd_device *device, uint64_t *ret) { assert_return(device, -EINVAL); - r = device_read_db(device); + r = sd_device_get_is_initialized(device); if (r < 0) return r; - - if (!device->is_initialized) + if (r == 0) return -EBUSY; if (device->usec_initialized == 0) @@ -1619,29 +1618,24 @@ _public_ int sd_device_get_usec_initialized(sd_device *device, uint64_t *ret) { return 0; } -_public_ int sd_device_get_usec_since_initialized(sd_device *device, uint64_t *usec) { - usec_t now_ts; +_public_ int sd_device_get_usec_since_initialized(sd_device *device, uint64_t *ret) { + usec_t now_ts, ts; int r; assert_return(device, -EINVAL); - r = device_read_db(device); + r = sd_device_get_usec_initialized(device, &ts); if (r < 0) return r; - if (!device->is_initialized) - return -EBUSY; - - if (device->usec_initialized == 0) - return -ENODATA; - now_ts = now(CLOCK_MONOTONIC); - if (now_ts < device->usec_initialized) + if (now_ts < ts) return -EIO; - if (usec) - *usec = now_ts - device->usec_initialized; + if (ret) + *ret = usec_sub_unsigned(now_ts, ts); + return 0; } diff --git a/src/systemd/sd-device.h b/src/systemd/sd-device.h index f8d7f225a97..19dd4d9eefa 100644 --- a/src/systemd/sd-device.h +++ b/src/systemd/sd-device.h @@ -85,8 +85,8 @@ int sd_device_get_seqnum(sd_device *device, uint64_t *ret); int sd_device_get_diskseq(sd_device *device, uint64_t *ret); int sd_device_get_is_initialized(sd_device *device); -int sd_device_get_usec_initialized(sd_device *device, uint64_t *usec); -int sd_device_get_usec_since_initialized(sd_device *device, uint64_t *usec); +int sd_device_get_usec_initialized(sd_device *device, uint64_t *ret); +int sd_device_get_usec_since_initialized(sd_device *device, uint64_t *ret); const char *sd_device_get_tag_first(sd_device *device); const char *sd_device_get_tag_next(sd_device *device);