Chuck Silvers <c...@chuq.com> wrote: > but more fundamentally, since puffs code cannot prevent changes to the file > in the underlying fs (ie. changes that don't go through puffs), any > preallocation done by puffs can be undone before it does any good. > the puffs code just needs to be fixed to handle such ENOSPC/EDQUOT errors > while flushing pages without hanging. NFS has the same fundamental issue > but I suspect its error handling is better.
But that means write returns success and we discard the data later, right? > you would need to flush the > dirty pages (with VOP_PUTPAGE()) to trigger that allocation, but that would > cause every write to be synchronous, and if flushing the pages failed > in this context it would likely trigger the same bug that you're trying to > work around. This is exactly what I understood a few minutes ago! -- Emmanuel Dreyfus http://hcpnet.free.fr/pubz m...@netbsd.org