*参照元 [#g3744a33] #backlinks *説明 [#r087ef8d] -パス: [[linux-2.6.33/mm/filemap.c]] -FIXME: これは何? --説明 **引数 [#q8306202] -struct address_space *mapping -- --[[linux-2.6.33/address_space]] -loff_t start -- -loff_t end -- -int sync_mode -- **返り値 [#vb89b021] -int -- **参考 [#aa1c0243] *実装 [#s5b09e2a] /** * __filemap_fdatawrite_range - start writeback on mapping dirty pages in range * @mapping: address space structure to write * @start: offset in bytes where the range starts * @end: offset in bytes where the range ends (inclusive) * @sync_mode: enable synchronous operation * * Start writeback against all of a mapping's dirty pages that lie * within the byte offsets <start, end> inclusive. * * If sync_mode is WB_SYNC_ALL then this is a "data integrity" operation, as * opposed to a regular memory cleansing writeback. The difference between * these two operations is that if a dirty page/buffer is encountered, it must * be waited upon, and not just skipped over. */ int __filemap_fdatawrite_range(struct address_space *mapping, loff_t start, loff_t end, int sync_mode) { int ret; struct writeback_control wbc = { .sync_mode = sync_mode, .nr_to_write = LONG_MAX, .range_start = start, .range_end = end, }; - --[[linux-2.6.33/writeback_control]] if (!mapping_cap_writeback_dirty(mapping)) return 0; - --[[linux-2.6.33/mapping_cap_writeback_dirty()]] ret = do_writepages(mapping, &wbc); - --[[linux-2.6.33/do_writepages()]] return ret; } *コメント [#d2fb5357]