Hi, I've ported my patch inversing locking ordering of page_lock and transaction start to ext4 (on top of ext4 patch queue). Everything except delayed allocation is converted (the patch is below for interested readers). The question is how to proceed with delayed allocation. Its current implementation in VFS is designed to work well with the old ordering (page lock first, then start a transaction). We could bend it to work with the new locking ordering but I really see no point since ext4 is the only user. Also XFS has AFAIK ordering first start transaction, then lock pages so if we should ever merge delayed alloc implementations the new ordering would make it easier. So what do people think here? Do you agree with reimplementing current mpage_da_... functions? Eric, I guess you have the best clue how XFS does this, do you have some advices? Also maybe pointers into XFS code would be useful if it is reasonably readable :). Thanks. Honza -- Jan Kara SUSE Labs, CR