I'm still worried that we add a pessimisation for devices that do not require cache flushes here, and even more so that this tradeoff isn't even documented in the commit log. The actual code change using xlog_wait_on_iclog and the intent for devices with a write cache looks fine to me.