O mais preocupante seria
[EIO] A previously-uncommitted write(2) encountered an
input/output error.
para programas idealmente deve verificar o valor de retorno de perto, especialmente para EIO
. Muitas vezes, as gravações falham quando um sistema de arquivos é preenchido, embora, idealmente, houvesse monitoramento ou logrotation ou algo assim para detectar essa situação antes que ela aconteça. Checksumming os dados como está sendo escrito, em seguida, verificar o que foi escrito pode ser necessário se você não confiar no sistema de arquivos e está lidando com dados super críticos, como, eu não sei, /etc/passwd
ou arquivos em lotes de pagamentos, ambos que eu vi se tornar horrivelmente corrompido por razões não relacionadas ao sistema de arquivos.
Suponho que nem todo programa que grava arquivos verifica o retorno, embora isso deva ser auditado caso a caso. (Eu me lembro de falsos positivos de eu acho libxml
anos atrás em verificações apertadas?)
Também vou me esquivar de como uma biblioteca C deve fazer o bit de manipulação de erros.