Merge branch 'release/1.3.0' into develop
Update version to 1.4.alpha0.
Fixed format mistake in users guide.
Fixed mistake in rozo man page.
Fix errno 98 already in use on listening ports at startup
When rozoFS is stopped and immmediatly restarted, it somtimes occur that
some application are restarted before their previous instance is actually
killed. When the starting application attempts to bind on the same listening
ports as the stopping application, it receives back the errno 98.
Setting socket option REUSEADDR does not fix the problem; this option enables
to re-bind on the same address when the previous socket is in TIME_WAIT,
but it does not allow to steal the address in use by an other application.
The fix consist when the application starts up to loop on the bind() call
and sleep between 2 attempts to let the stopping application die.
Directory access time no more updated on readdir
Previously on a readdir, the access time of the directory was updated
on disk. This access time update has been remove since it is expensive
but has no interest.
Remove periodic logs when exported is down
When the exportd goes down the rozofsmount generate logs each time
it attempts to reconnect to it. The surabondant logs are removes.
Fixed issue #60 (rozo manager).
Increase default wait time to 5s in file storaged.py when storaged
restart (rozo manager).
Change version to 1.4.alpha1.
Get static ports from /etc/services
Debug ports as well as storaged service port can be set in /etc/services.
When it is so the port from /etc/services are used by the rozoFS
processes.
Fix IT.sh test application
Layout per volume
Up to now the layout was defined for the exportd daemon and so did apply
to every volume handle by this daemon. Today a layou is still defined
at daemon level but this is the defauklt layout that will be applied to
its volumes. It is possible to over ride this value by defining a layout
on a volume.
In the following example the default layout is 2, but volume 1 has
a layout of 0.

layout = 2 ;
volumes =
      (
        {
            vid = 1;
            layout = 0;
            cids=
            (
Open file buffer overflow
In some specific cases it occurs that the data writen in the buffer
associated to an open file overflows the buffer limits.
Merge branch 'hotfix/1.3.1' into develop

Conflicts:
	CMakeLists.txt
	debian/changelog
	manager/rozofs/__init__.py
	src/rozofsmount/rozofs_write.c
Actually remove data on truncate
When truncating a file, the truncated data must not re-appear
while extending the file through truncate again. The file must be
extended with 0.
socket controller optimisation for large deployment

a) increase the number of socket controller contexts to 1024
   this concerns all the process excepted rozofsmount and exportd

b) increase the number of af_unix/af_inet contexts to 1024

c) exclude the TCP connection for the xmit/receive prepare

   for the TCP (AF_UNIX) connection the xmit fsm has been change in
   order to handle differently the case of the congestion: it directly
   assert the FD_SET since the prepare (xmit/recv) is not used anymore
   for those connection types.

d) change the process for finding out the sockets conerned by the select(return)
e) Debug facilities
    increase the max buffer size to 384K

    add the topic "select_stats":
    -----------------------------
    [127.0.0.1:50003] rozofsmount 0> select_stats

    Per select call statistics:
    [0001] = 3136
    [0002] = 1
    [0006] = 1

    "cpu"
    -----
     add the prepare and socket searching upon select return cost in cycles:
     [127.0.0.1:50003] rozofsmount 0> cpu
     conditional sockets      : 5
     max socket events        : 6
     xmit/recv prepare cycles : 3875 cycles [2519339/650)
     xmit/recv receive cycles : 2161 cycles [1404691/650)
     gettimeofday cycles      : 1100 cycles [715333/650)
     rucRdFdSet 0x70dd80 (128) __FD_SETSIZE :1024 __NFDBITS :64

     "sockctrl"
     ----------
       provides the socket controller configuration for the current configuration.

       [127.0.0.1:50003] rozofsmount 0> sockctrl
       max number of socket controller contexts : 128
       scheduler polling period                 : 40000 us
       scheduler polling count                  : 16

       usage:
      sockctrl pollcount <value> : set number of polled contexts per activation
      sockctrl pollfreq <value>  : set activation period (unit is microseconds)
      sockctrl                   : display current configuration
Merge branch 'develop' of https://github.com/rozofs/rozofs into develop
Move the socket of the disk thread as unconditional and force reschedule

The reschedule is forced when the main posts a message towards the
queue used by the disk threads and when the disk thread answer to
the main storio thread.
The main goal is to shrink the latency.
blockmode cache: take care of the beginning offset while writing data in cache:

The cache starts on a 8K boundary. When the data to put in the cache
does not start on a 8K boundary the data are not updated. This update
is rejected when the current block have not the same key as the one
that is already in cache. When they have the same key, the update can
take place.