Oops. Yes, except for the case of calling xlog_state_release_iclog ourselves we can't claim that the cache has been flushed. In fact I'm not even sure that is save, if ic_refcnt makes xlog_state_release_iclog exit early, so we might have to pass additional information around there.