block: reimplement FLUSH/FUA to support merge