I know how some system calls like sys_read
and sys_write
work with character device files. If I understand correctly, because character device drivers implement file_operations functions so sys_read
and sys_write
will call the read and write functions defined and implemented inside character device drivers.
However, I don't know exactly the interaction between sys_read
, sys_write
and regular files (which are stored in block devices) through VFS
, Block subsystem and Block device drivers. I know that in order to read/write block devices, the drivers of the block devices have request functions which manipulate the request queues but when I read the Linux source code (fs/read_write.c
), I cannot find any piece of code to make the request and send to any request queues.
Could you help me to clarify the interaction.
Thank you very much.
Asked
Active
Viewed 364 times
2

zey
- 5,939
- 14
- 56
- 110

user2571676
- 51
- 2