path: root/contrib
diff options
authorVenky Shankar <>2015-04-24 10:10:35 +0530
committerNiels de Vos <>2015-05-10 05:27:40 -0700
commit1a217b2a0295ca4d9068ee5c17d6a4374cc5f8fc (patch)
tree7b3a92dd4e18fa5b01160630322ad1ae175abb2d /contrib
parent25bb1061642bcaedfdfcab859a07244c2276571f (diff)
core: Global timer-wheel
Instantiate a process wide global instance of the timer wheel data structure. Spawning glusterfs* process with option arg "--global-timer-wheel" instantiates a global instance of timer-wheel under global context (->ctx). Translators can make use of this process wide instance [via a call to glusterfs_global_timer_wheel()] instead of maintaining an instance of their own and possibly consuming more memory. Linux kernel too has a single instance of timer wheel where subsystems such as IO, networking, etc.. make use of. Bitrot daemon would be early consumers of this: bitrot translator instances for multiple volumes would track objects belonging to their respective bricks in this global expiry tracking data structure. This is also a first step to move GlusterFS timer mechanism to use timer-wheel. > Change-Id: Ie882df607e07acaced846ea269ebf1ece306d6ae > BUG: 1170075 > Signed-off-by: Venky Shankar <> > Reviewed-on: > Tested-by: NetBSD Build System > Reviewed-by: Vijay Bellur <> > Tested-by: Gluster Build System <> Change-Id: I35c840daa9996a059699f8ea5af54c76ede7e09c Signed-off-by: Venky Shankar <> Signed-off-by: Gaurav Kumar Garg <> BUG: 1220041 Reviewed-on: Tested-by: Gluster Build System <>
Diffstat (limited to 'contrib')
1 files changed, 3 insertions, 0 deletions
diff --git a/contrib/timer-wheel/timer-wheel.c b/contrib/timer-wheel/timer-wheel.c
index e80d839..77fbfbe 100644
--- a/contrib/timer-wheel/timer-wheel.c
+++ b/contrib/timer-wheel/timer-wheel.c
@@ -17,6 +17,9 @@
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <sys/select.h>
#include "timer-wheel.h"