![]() | |||||||||||
Messages in this thread |
<snip> > > Or rewrite __mpage_writepages() to lock a page range (e.g. lock pages > > until we find some on which we'd block) and then call some filesystem > > routine to write-out all the locked pages (which would start a > > transaction and so on). But this is more work. > > We are re-writing mpage_writepages() anyway for supporting delayed > and multiblock allocation. So I will talk to Suparna and see if we > can do this also. But this requires more calls to figure out, if we > need block allocation and then start the transaction. (getblock(READ) > followed by getblock(WRITE) after starting transaction). Isn't it ? If I'm not missing something, you could just start a transaction everytime and do just getblock(WRITE) (which would not do anything if the block is already allocated), couldn't you?. The only question is whether getblock(READ) costs more than the possibly unnecessary start of a transaction. I guess that's hard to say without some benchmarking. Honza -- Jan Kara <jack@suse.cz> SuSE CR Labs - 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/ | ||||||||||
| Last update: 2005-05-09 11:30 [from the cache] ©2003-2008 | |||||||||||