struct buffer_head

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

 



Hi,
The buffer_head structure in fs.h dont use list_head,
but normal doubly linked list implementation,
is there any reason behind this.


struct buffer_head {
        /* First cache line: */
        struct buffer_head *b_next;     /* Hash queue
list */
        unsigned long b_blocknr;        /* block
number */
        unsigned short b_size;          /* block size
*/
        unsigned short b_list;          /* List that
this buffer appears */
        kdev_t b_dev;                   /* device
(B_FREE = free) */

        atomic_t b_count;               /* users using
this block */
        kdev_t b_rdev;                  /* Real device
*/
        unsigned long b_state;          /* buffer
state bitmap (see above) */
        unsigned long b_flushtime;      /* Time when
(dirty) buffer should be written */

        struct buffer_head *b_next_free;/* lru/free
list linkage */
        struct buffer_head *b_prev_free;/* doubly
linked list of buffers */
        struct buffer_head *b_this_page;/* circular
list of buffers in one page */
        struct buffer_head *b_reqnext;  /* request
queue */

        struct buffer_head **b_pprev;   /* doubly
linked list of hash-queue */
        char * b_data;                  /* pointer to
data block */
        struct page *b_page;            /* the page
this bh is mapped to */
        void (*b_end_io)(struct buffer_head *bh, int
uptodate); /* I/O completion */
        void *b_private;                /* reserved
for b_end_io */

        unsigned long b_rsector;        /* Real buffer
location on disk */
        wait_queue_head_t b_wait;

        struct list_head     b_inode_buffers;   /*
doubly linked list of inode dirty buffers */
};

Thanks
Prasanna


	
		
__________________________________
Do you Yahoo!?
Yahoo! Mail - You care about security. So do we.
http://promotions.yahoo.com/new_mail

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[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