the address of the struct file_context allocated is returned as the fd to the
brick. This should be changed to an index number in a socket-private list of
file_contexts and the address should be derived form the index number which
is returned to the Brick.
a linked list is maintained per socket connection, where a entry gets added
in every open and gets freed in every release. In case of socket close
inbetween, release function of attached xlator is called.