Subject: Re: bug#17470: [PATCH] sort: rotate on ENOSPC while creating tmp files

From: Paul Eggert <[email-masked]>
Date: Mon, 26 May 2014 13:44:14 -0700

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.