[Gluster-devel] timer wheel for object expiry?

Venky Shankar yknev.shankar at gmail.com
Tue Dec 16 15:29:58 UTC 2014


oops.. forgot the links

[1]: http://gluster.org/community/documentation/index.php/Features/BitRot
[2]: https://lwn.net/Articles/152436/

On Tue, Dec 16, 2014 at 8:57 PM, Venky Shankar <yknev.shankar at gmail.com> wrote:
> Hey folks,
>
> For BitRot[1] there's a need to track objects (files) for inactivity
> for a certain period of time (after release()). I was considering
> using timer wheel[2] to track object expiry as it's proven to be
> scalable and used by the linux kernel. This could even be beneficial
> as GlusterFS timer subsystem which is currently add:O(N)/expiry:O(1).
>
> I have a test code (that works at seconds granularity) and borrows
> much of the code from the linux kernel. I've put it up here:
> https://github.com/vshankar/timer-wheel
>
> The other option would be to use rbtree, but I guess the "cascading"
> logic in timer wheel is much more simpler and suited for
> cancellations.
>
> Thoughts?
>
>     Venky


More information about the Gluster-devel mailing list