Support generic Hadoop Compatible Filesystem (short version)

This is a short version of #388.
please check the indentations.