Question about bdi writeback and __filemap_fdatawrite_range()

From: Peng Tao
Date: Sat Dec 04 2010 - 05:46:08 EST


Hi,

There are three lists in struct bdi_writeback, b_dirty, b_io and
b_more_io. Once an inode is dirtied, it will be put in b_dirty list.
And once it gets written back, it gets out of the b_io list. And my
question is, if __filemap_fdatawrite_range() kicks off the writeback,
and writes all dirty pages in the inode, how is the inode supposed to
leave the bdi writeback list? I mean, writeback_inodes_wb() will add
the inode to the b_dirty list if no page is written back w/
writeback_single_inode (which is sure, because no dirty page is left).

Is there some piece of code that I am missing?

--
Thanks,
-Bergwolf
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/