On Mon, Aug 05, 2013 at 03:30:43PM -0400, Simo Sorce wrote:
Optional (may be should be a separate ticket)
We currently reinit by closing the file and creating a new one. We
should not do that, we should rather reset the header and then just zero
all the data and reinitialize all the various areas. The reason is that
if we have some bad bug and we keep creating new files we might run out
of space because clients may have old files open and mmapped, and unless
they perform a new operations, they may not release them. Note we should
*not* use ftruncate() here, just write the appropriate initialization
values everywhere needed.
Thanks for the review Simo.
I would prefer this to be at least a separate commit, but preferably
even a separate ticket simply for the reason that any change outside a
simple patching might introduce regressions. Especially when it comes to
the memcache, which is mapped to the process's memory, I think we should
be double paranoid.