// prevent the flush from stopping concurrent reads and writes
writer.flush();
synchronized (this) {
log.debug("TarMK journal update {} -> {}", before, after);
journalFile.writeBytes(after.toString10() + " root\n");
journalFile.getChannel().force(false);
persistedHead.set(after);
if (cleanup) {
long start = System.nanoTime();