@unihorn If you use a 3rd library, you need to trust their promise. Or you just get rid of that 3rd.

Again go-raft guarantees that:
After init, there will be a new *empty* log file or a unchanged previously created log file.

Then only thing you need to care about is that:
After init and before start, etcd should not write to the log file. 

@philips As there is no race and we have the guarantee from go-raft implementation, I think we should just set NOCOW on the log file.