Reading from a block device in kernel space

2019-04-14 04:14发布

问题:

I am writing a kernel module and need to perform reads from an existing block device. (/dev/something).

Does anyone know of any other modules that do these that I can use as reference ?

Any pointers would be welcome

(Linux.2.6.30)

回答1:

If you really absolutely must then use the filp_open, filp_close, vfs_read and vfs_write functions.

The description for for filp_open states "This is the helper to open a file from kernelspace if you really have to. But in generally you should not do this, so please move along, nothing to see here.."

There is an excellent article "Driving Me Nuts - Things You Never Should Do in the Kernel" at http://www.linuxjournal.com/article/8110



回答2:

You can look at any hard disk device driver.