[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