Re: a conceptual confusion -- bio--page --block -- buffer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux