On Mon, 2009-02-02 at 20:00 +0900, Hisashi Hifumi wrote:
> Hi Chris.
>
> I think it is needed to call mark_inode_dirty() when file size expands
> in order to flush metadata updates to HDD through sync() syscall or
> background_writeout().
>
Thanks for reading through this code and sending the patch.
I find the I_DIRTY flags one of the more confusing parts of the generic
fs writeback cdoe. But, I think what happens is the
btrfs_set_page_dirty function calls __set_page_dirty_nobuffers() which
does:
if (mapping->host) {
/* !PageAnon && !swapper_space */
__mark_inode_dirty(mapping->host, I_DIRTY_PAGES);
}
This should be enough to make sure the btrfs inodes are processed by
background writeout and sync(). Please let me know if I'm misreading
things.
-chris
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html