FILEIO is using struct file to serve block IO with various methods (sync/async) and (buffered/direct).