[dm-devel] [PATCH 01/35] libmultipath: add timespeccmp() utility function
mwilck at suse.com
mwilck at suse.com
Fri Sep 10 11:40:46 UTC 2021
From: Martin Wilck <mwilck at suse.com>
Add a small utility that will be used in later patches.
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