Opening a Block Device File
We conclude this chapter by describing the steps performed by the VFS when opening a block device file.
The kernel opens a block device file every time that a filesystem
is mounted over a disk or partition, every time that a swap partition is
activated, and every time that a User Mode process issues an open( )
system call on a block device file. In all cases, the
kernel executes essentially the same operations: it looks for the block
device descriptor (possibly allocating a new descriptor if the block
device is not already in use), and sets up the file operation methods
for the forthcoming data transfers.
In the section "VFS
Handling of Device Files" in Chapter 13, we described how the
dentry_open( )
function customizes
the methods of the file object when a device file is opened. In this
case, the f_op
field of the file
object is set to the address of the def_blk_fops
table, whose content is shown in
Table 14-10.
Table 14-10. The default block device file operations (def_blk_fops table)
Method | Function |
---|---|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
Here we are only concerned ...
Get Understanding the Linux Kernel, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.