I have a few queries regarding the buffer headers in linux.
1. As per my understanding, block number in this stucture corresponds to the block no of the data on a logical device rather than on a physical device (hard disk).
AFAIK the block nr is a logical number that can be remapped by either the block driver or the physical device.
...2. Why do we need pointer to a pointer for hash list ?
In the below, we have used a pointer for free list, then why pointer to pointer has been used for hash list.
My guess is that a double pointer is used to keep a constant reference even though the underlying hash list can change. So the current hash list can be always accessed through **b_pprev.
Please correct me if I am wrong.
--Swapnil
-- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/