Azat Khuzhin wrote:
The current patch only look while files is created, but this is not
enough `I agree with you, it must check write(2) and fallback to creating
when write(2) will fail with ENOSPC.
This is what you mean?

Yes.

when we have ENOSPC it
means that we already won't create any more files there, and one file
with relatively small size is not a big deal.

OK. The point is that 'sort' shouldn't lose the data (including the possibly-incomplete trailing line) that's already in the temporary file when a write to that file fails.

Also, the code could treat EIO like ENOSPC, I suppose, to be more robust in the presence of bad temporary devices.

But beware file systems that report ENOSPC and EIO in a delayed fashion, i.e., not immediately upon the failing write, but somewhat later, typically when closing the output file.



Reply via email to