Support generic Hadoop Compatible Filesystem (short version)

This is a short version of #388.
should be static