TODO
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.
Auto Resync
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.
Asynchronous I/O
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.