Messages in this thread | | | Date | Thu, 09 Mar 2006 08:17:33 -0800 | From | Badari Pulavarty <> | Subject | ext3_ordered_writepage() questions |
| |
Hi,
I am trying to cleanup ext3_ordered and ext3_writeback_writepage() routines. I am confused on what ext3_ordered_writepage() is currently doing ? I hope you can help me understand it little better.
1) Why do we do journal_start() all the time ? I was hoping to skip journal_start()/stop() if the blocks are already allocated. Since we allocated blocks in prepare_write() for most cases (non-mapped writes), I was hoping to avoid the whole journal stuff in writepage(), if blocks are already there. (we can check buffers attached to the page and find out if they are mapped or not).
2) Why do we call journal_dirty_data_fn() on the buffers ? We already issued IO on all those buffers() in block_full_write_page(). Why do we need to add them to transaction ? I understand we need to do this for block allocation case. But do we need it for non-allocation case also ?
Can we skip the whole journal start, journal_dirty_data, journal_stop for non-allocation cases ? I have coded up to do so, but I am confused on what am I missing here ?
Please let me know.
Thanks, Badari
- 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/
| |