POHMELFS update and thoughts on moving POHMELFS and DST outside of the staging tree
Synced local tree with changes made in staging tree in vanilla kernel.
Patch is rather small, but includes several bugfixes and command extension made by Pierpaolo Giacomin (yrz_anche.no), which allows to dump and delete all configured indexes.
It is already included in the staging tree and will be pushed upstream when merge window is opened.
DST is a block level network device. It has fair number of interesting features like reconnection, large IO support, no need to copy data from userspace, but overall it is still simple point-to-point network block device. My opinion is that it is not really needed in the modern environment.
POHMELFS is a distributed parallel filesystem. Its current state is closer to parallel NFS than to real distributed filesystem like Lustre. But I start integration with the elliptics network, which is a real distributed network hash table storage, which will put POHMELFS to the completely new storage level not actually accessible by existing distributed filesystems. Such storages were only made for extremely huge amount of web 2.0 data, which does not require POSIX and ability to work with the storage as a convenient filesystem. Contrary, existing distributed filesystem are mostly made for the non-faulty environment, i.e. where network does not dissapear frequently, where dedicated servers do not break frequently and so on, where ‘frequently’ is rather subjective measure, for example I work with people who deliberately break network connectivity between major parts of its infrastructure to be sure that system continues to work as expected once per several days. How do you expect cool-named vendors and bought solutions work in that environment?
I designed elliptics network without any assumptions and requirements for stability of the subsystems. The same should be done for POHMELFS, which basically means that whle its network protocol and existing usage model will be completely changed.
So, I’m rather stumbled upon pushing both projects out of staging tree. DST is likely not needed in the vanilla tree, while POHMELFS will be changed dramatically in several days and weeks (but probably I will not complete it before 2.6.31 kernel release and subsequent merge window).
It is possible though to move POHMELFS into
fs/, but add a huge warning during module load, which will scream, that POHMELFS will be changed completely in the next kernel version and will not be compatible with the existing usage case.