Nick, what exactly is the problem with the reserve + allocate design? In a delalloc filesystem (which is all those that will care about high performance large writes) the write path fundamentally consists of those two operations. Getting rid of the get_blocks mess and replacing it with a dedicated operations vector will simplify things a lot. Punching holes is a rather problematic operation, and as mentioned not actually implemented for most filesystems - just decrementing counters on errors increases the chances that our error handling will actually work massively. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html