wal: use buffer