On Thu, Jul 31, 2008 at 11:08:25PM -0400, Theodore Tso wrote: > On Thu, Jul 31, 2008 at 11:03:25PM +0530, Aneesh Kumar K.V wrote: > > With the below changes we reserve credit needed to insert only one extent > > resulting from a call to single get_block. That make sure we don't take > > too much journal credits during writeout. We also don't limit the pages > > to write. That means we loop through the dirty pages building largest > > possible contiguous block request. Then we issue a single get_block request. > > We may get less block that we requested. If so we would end up not mapping > > some of the buffer_heads. That means those buffer_heads are still marked delay. > > Later in the writepage callback via __mpage_writepage we redirty those pages. > > If you're only redirtying the pages in the callback, that means they > are left clean but with the delayed flag set; is that going to be > enough to keep the mm from dropping the pages because they are clean? > Or is the mechanism which prevents this is that you've kept the > refcount on the pages bumped until after the callback? writepages can use redirty_page_for_writepage to skip the pages during writeout. We do that in most of the writepage call backs. So I guess they would be properly marked dirty . -aneesh -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html