-------------------------------------
sys_read: 通过fd得到对应的file结构,然后调用vfs_read;
vfs_read: 各种权限及文件锁的检查,然后调用file->f_op->read(若不存在则调用do_sync_read)。file->f_op是从对应的inode->i_fop而来,而inode->i_fop是由对应的文件系统类型在生成这个inode时赋予的。file->f_op->read很可能就等同于do_sync_read;
do_sync_read: f_op->read是完成一次同步读,而f_op->aio_read完成一次异步读。do_sync_read则是利用f_op->aio_read这个异步读操作来完成同步读,也就是在发起一次异步读之后,如果返回值是-EIOCBQUEUED,则进程睡眠&