Thanks for the info. In the attached reproducer, I don't do sync after running the workload (but I've tried that before.). Just to be sure, I ran again with sync and waited for 60 seconds before collecting data. The behavior was the same.
Then I tried one more thing, which corrected btrfs behavior. I sync-ed after each write, which produced the following space-time graph: https://gist.githubusercontent.com/junhe/b6ce39eeb6de8887e66a/raw/d31ac85559f83c d86aef8e4250b3d3d859226c8d/sync-after-each-write.png Each time a write is finished, the extent of the last write is discarded. -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html