|
From: | Paul Eggert |
Subject: | bug#17470: [PATCH] sort: rotate on ENOSPC while creating tmp files |
Date: | Mon, 26 May 2014 13:44:14 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 |
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.
[Prev in Thread] | Current Thread | [Next in Thread] |