FIXED the bug, previously mentioned the commit.
There are 2 problems,
1. Once the buffer is removed from free list, buffer's previous
and next link to previous and next free buffer was not done properly

2. While releasing the buffer, the tail pointer is not updated properly
The effect is that, when the buffer is released, it is always added after
the same node at the tail.

for eg. if buffer containing block, say 6, is released, then this buffer is
added to the tail, for first time. If anyother buffer is released, then its
not added post to previously released block (6), instead it replaces the
buffer 6. Effect is 1 block is lost, for every block release

This patch contains the fix
Signed-off-by: Satheesaran <satheesaran@gmail.com>