>
> 1) Usually a buffer page contains one or more blocks. Ex: 4k buffer page
> contain 4 1k Blocks. They are connected through buffer_head which contains
> logical block number on disk and private field of a page points to the first
> buffer head


I think the term "buffer page" has a different meaning:

>From 15.2.3 UTLK:

Here are two common cases in which the kernel creates buffer pages:
1. When reading or writing pages of a file that are not stored in contiguous
disk blocks. This happens either because the filesystem has allocated
noncontiguous blocks to the file, or because the file contains "holes" (see
the section "File Holes" in Chapter 18).

2. When accessing a single disk block (for instance, when reading a
superblock or an inode block).
--

My questions:
1. Why wouldn't the kernel create a buffer page even for pages that contain
physically adjacent blocks? Why are pages that contain physically adjacent
blocks given special treatment?
2. How is a buffer page different from a normal page?

Thanks,
-Joel

Reply via email to