[dm-devel] [PATCH 01/35] libmultipath: add timespeccmp() utility function
Benjamin Marzinski
bmarzins at redhat.com
Wed Sep 15 22:07:04 UTC 2021
On Fri, Sep 10, 2021 at 01:40:46PM +0200, mwilck at suse.com wrote:
> From: Martin Wilck <mwilck at suse.com>
>
> Add a small utility that will be used in later patches.
>
Reviewed-by: Benjamin Marzinski <bmarzins at redhat.com>
> Signed-off-by: Martin Wilck <mwilck at suse.com>
> ---
> libmultipath/libmultipath.version | 5 +++++
> libmultipath/time-util.c | 12 ++++++++++++
> libmultipath/time-util.h | 1 +
> 3 files changed, 18 insertions(+)
>
> diff --git a/libmultipath/libmultipath.version b/libmultipath/libmultipath.version
> index eb5b5b5..c98cf7f 100644
> --- a/libmultipath/libmultipath.version
> +++ b/libmultipath/libmultipath.version
> @@ -287,3 +287,8 @@ global:
> local:
> *;
> };
> +
> +LIBMULTIPATH_9.1.0 {
> +global:
> + timespeccmp;
> +} LIBMULTIPATH_9.0.0;
> diff --git a/libmultipath/time-util.c b/libmultipath/time-util.c
> index 55f366c..2919300 100644
> --- a/libmultipath/time-util.c
> +++ b/libmultipath/time-util.c
> @@ -49,3 +49,15 @@ void timespecsub(const struct timespec *a, const struct timespec *b,
> res->tv_nsec = a->tv_nsec - b->tv_nsec;
> normalize_timespec(res);
> }
> +
> +int timespeccmp(const struct timespec *a, const struct timespec *b)
> +{
> + struct timespec tmp;
> +
> + timespecsub(a, b, &tmp);
> + if (tmp.tv_sec > 0)
> + return 1;
> + if (tmp.tv_sec < 0)
> + return -1;
> + return tmp.tv_nsec > 0 ? 1 : (tmp.tv_nsec < 0 ? -1 : 0);
> +}
> diff --git a/libmultipath/time-util.h b/libmultipath/time-util.h
> index b23d328..4a80ebd 100644
> --- a/libmultipath/time-util.h
> +++ b/libmultipath/time-util.h
> @@ -10,5 +10,6 @@ void pthread_cond_init_mono(pthread_cond_t *cond);
> void normalize_timespec(struct timespec *ts);
> void timespecsub(const struct timespec *a, const struct timespec *b,
> struct timespec *res);
> +int timespeccmp(const struct timespec *a, const struct timespec *b);
>
> #endif /* _TIME_UTIL_H_ */
> --
> 2.33.0
More information about the dm-devel
mailing list