Não existe algo como "ZIL commit". Na verdade, os blocos são sempre sujos no cache de memória em uma solicitação de gravação, não importando se ela é síncrona ou assíncrona. O ZIL apenas adiciona persistência para solicitações de gravação síncronas.
Portanto, se você tiver um dispositivo de log ZFS separado para o seu pool, poderá observar que ele está apenas recebendo carga de gravação, os dados não são lidos em circunstâncias normais. Somente se você tiver um desligamento impuro de seu pool (por exemplo, por uma reinicialização a frio ou uma falha de energia), o log de intenção está sendo lido e aplicado aos dados do pool à medida que o pool é carregado.
Os blocos sujos são liberados em um commit TXG, o tipo de operação não importa muito.