Staging: pohmelfs: network operations.
authorEvgeniy Polyakov <zbr@ioremap.net>
Mon, 9 Feb 2009 14:02:40 +0000 (17:02 +0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 3 Apr 2009 21:53:35 +0000 (14:53 -0700)
commitd35eef1b42befc74b33c47de46b37a0370622ec2
tree515522b778bfda31f5d38e1745162b40f1f99ed8
parentac7036c13113ed58bc9851d2808467dfeda8daed
Staging: pohmelfs: network operations.

This is a main network processing patch. It includes
both low-level socket machinery, zero-copy sending helpers,
receiving and parsing callbacks and mainly logical
commands handlers.

POHMELFS uses async network approach, when every command
can be separated from its answer and received after some
time after the request during which another lots of commands
can be injected into the network and replies to them received.

With read operation balancing between multiple hosts it is possible
that operations will arrive out of order and this is handled
by the transaction mechanism described partially here.

Having a transaction to guard the set of logically compound operations
allows to send data without thinking about its status and using
zero-copy sending mechanism, since transaction will receive explicit
acks from the servers when they are completed.

This patch also contains header with network srtuctures, commands
and short comments on how they are used.

Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/pohmelfs/net.c [new file with mode: 0644]
drivers/staging/pohmelfs/netfs.h [new file with mode: 0644]