Насколько мне известно, ZFS как файловая система проверяет наличие ошибок данных при каждом доступе к данным.
Поэтому я бы предположил, что он действительно выполняет что-то вроде очистки перед отправкой данных, тем самым обеспечивая целостность отправленных данных.
Мой вопрос: так ли это на самом деле? И если нет, то какие дополнительные преимущества я получаю от выполнения очистки zfs перед отправкой zfs в отношении этого конкретного набора данных.
Да, каждый раз, когда вы читаете блок данных в оперативную память, при условии, что контрольная сумма включена, ZFS вычисляет контрольную сумму этих данных и сравнивает ее с контрольной суммой, которая была рассчитана до того, как этот блок данных был записан на диск.
ZFS делает не выполнить автоматическую очистку перед zfs send
операция. Главное преимущество того, что вы сделаете это перед отправкой, - это максимизация вероятности того, что операция отправки будет продолжена без ошибок.