2) I don't think blocks are conceptually vanished here. Suppose a buffer page contains 4 nonadjacent blocks of a disk, then there will be 4 different bio's for each block. If all the blocks are adjacent then only one bio will be issued.
3) A single bio request might contain multiple blocks which are adjacent on disk.
5) I think a page cannot contain blocks from different file since a page cache is implemented as a set of radix trees, one for each file (address_space object to be specific)
-Govindraj
On Thu, 05 Nov 2009 15:46:30 +0530 wrote
>Hi all i have read about page cache and about bio biovec page relation toobut in all that i have a minor confusion what i know is -- pl ignore faults in language used -- its raw -- i know that
1)page consists of many biovecs -- 2)each biovec is mentioning continuous data on storage device-- to be transferred3)many bio vecs coming from different pages -- makes a single bio --where in a bio contains the request for continuous data (on storage device )
to be transferred ...i understood scatter gather ..i have read things from different place soin all that i am missing some links --- 1) How page is related to block on disk ?--2) is block concept totally vanished in all this discussion ?
3) if a single bio is transferred at a time -- then is bio equivalent to a block ? or no relation of block and bio ?4) if bio is equivalent to one block -- then finally we are transferring block only .... then where abt that benefit of shifting from buffer cache to page cache ....isnt it ??
5) page is related to a file -- a single page can contain only one file's data .... is that true ? or a page can contain some bio_vecs of file1 and some bio_vecs of other file2 ??pl help in clarification
thanksnidhi-- Thanks & Regards Nidhi Mittal Hada