ChironFS is now following a versioning convention like the Linux Kernel. So, the current stable version is 1.0.x and the current development version is 1.1.x.
The next feature to be implemented will be automatic resynchronization of failed replicas. It will be made using an external program. So it will be plugable, allowing users to choose which resync method better fits their needs. The interface between ChironFS and the resynchronization program will the proc-like filesystem introduced in the 1.1 series. It will let the programs query the status of the replicas and which files are inconsistent and will receive commands telling it which synchronizations it has to perform and from which source it has to be synchronized.
As of today, the write operations are done in a sequential way. So, writing to all replicas takes the sum of the access times of them. Using libaio the writes will be concurrent, and sometimes, if the kernel/hardware permit, parallel.
Support for extended attributes.
Access time statistics
So, the load balance algorithm may use these statistics to choose from which replica it will try to read.
Disk total size/free size
When the replicas have different size/usage, ChironFS reports its different values based on its load balance read algorithm. You can check it calling 'df' many times. So, we need to establish a policy to deal with it. In fact, the user will be able to choose between two policies:
Report "partition" size/free space as the least value reported by the replicas. This approach prevents having a disabled replica when it gets "disk full" error while the others could succeed;
Report "partition" size/free space as the biggest value reported by the replicas. This approcah prevents your systems stopping when the smaller replica gets "disk full" error. So the replica disabled log message raises the alarm in a "dead canary" way.