GNU bug report logs -
#17470
[PATCH] sort: rotate on ENOSPC while creating tmp files
Previous Next
Reported by: Azat Khuzhin <a3at.mail <at> gmail.com>
Date: Sun, 11 May 2014 20:45:02 UTC
Severity: normal
Tags: patch, wontfix
Done: Pádraig Brady <P <at> draigBrady.com>
Bug is archived. No further changes may be made.
Full log
Message #16 received at control <at> debbugs.gnu.org (full text, mbox):
tag 17470 wontfix
close 17470
stop
On 05/11/2014 11:25 PM, Paul Eggert wrote:
> Azat Khuzhin wrote:
>
>> + fd = mkstemp (file);
>> +
>> + if (errno != ENOSPC || temp_dir_index == start_dir_index)
>
> This assumes that when mkstemp succeeds then errno != ENOSPC, which is not necessarily true.
>
> More generally, it appears that with the patch 'sort' checks whether one can create a file, but 'sort' will still respond poorly if a write to a temp file fails due to filesystem space exhaustion.
Yes I agree.
Now one could use fallocate() where available to preallocate a given amount of space,
however allocation management can be done outside of sort(1). As a rule of thumb,
if it's possible to implement outside of a particular functional unit, then it
probably should be done outside.
In this case there are various schemes for coalescing multiple storage locations
to a single mount point (mhddfs, lvm, raid, ...), and since these have a more
system wide view, it would be better to avoid implementing similar but limited
logic within sort.
thanks,
Pádraig.
This bug report was last modified 11 years and 1 day ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.