On Nov 14, 2007 9:43 PM, Wang Yu <wangyuict@xxxxxxxxx> wrote: > > Since map_bh->b_size is the size of the block buffer, and blkbits is > associated with the block in inode, why does he do the operation >> ? The ">>" means divided by 2^blkbits to get the nos of block, which means that one block = 2^blkbits. > And what is the meaning and usage of first_logical_block? the initial > value of it is 0. "first" is because within that contiguous range of block, that is the first block. And mpage_readpage() always try to read as large a contigous range as possible, before submitting to BIO. There may be MANY separate contiguous range of blocks, but the start of each contigouous range is always called "first_logical_block" and it is always based on last "first_logical_block" + last nblcoks ==> next first_logical_block. Everytime do_mpage_readpage() is called, the entire block is always contiguous. Correct my understanding if incorrect :-). -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ