Messages in this thread | | | Subject | Re: o_sync in vfat driver | From | OGAWA Hirofumi <> | Date | Thu, 02 Mar 2006 23:07:29 +0900 |
| |
Chris Mason <mason@suse.com> writes:
> filemap_fdatawrite() won't redirty the page. It will wait on the pending > writeback.
Umm... I'm looking the following code.
+ if (MSDOS_SB(sb)->options.flush) { + writeback_inode(dir); + writeback_inode(inode); + writeback_bdev(sb); + }
+void +writeback_bdev(struct super_block *sb) +{ + struct address_space *mapping = sb->s_bdev->bd_inode->i_mapping; + filemap_flush(mapping); + blk_run_address_space(mapping); +} +EXPORT_SYMBOL_GPL(writeback_bdev);
filemap_flush() is using WB_SYNC_NONE.
in mpage_writepages() if (wbc->sync_mode != WB_SYNC_NONE) wait_on_page_writeback(page);
if (PageWriteback(page) || !clear_page_dirty_for_io(page)) { unlock_page(page); continue; }
Where does wait it? -- OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |