[Bugs] #1876 UNSP: Failure to cleanup temporary files after filesystem full errors
Sugar Labs Bugs
bugtracker-noreply at sugarlabs.org
Sat Apr 10 08:25:36 EDT 2010
#1876: Failure to cleanup temporary files after filesystem full errors
------------------------------------------+---------------------------------
Reporter: bernie | Owner: tomeu
Type: defect | Status: new
Priority: Unspecified by Maintainer | Milestone: Unspecified by Release Team
Component: sugar | Version: 0.84.x
Severity: Critical | Keywords: sugar-0.84
Distribution: Unspecified | Status_field: Unconfirmed
------------------------------------------+---------------------------------
Comment(by sascha_silbe):
Replying to [comment:4 bernie]:
> Btw, why do we write temporary files to a non-temporary directory?
These are not temporary files, but data store check-outs. They need to be
on the same file system as the data store so we can use hard links.
> Additionally, shouldn't we clean all temportary files at boot time?
We definitely should, though it isn't as critical as it might seem.
Because they're hard links, they don't even occupy an inode.
While your patch is a good idea IMO, it doesn't help with your original
issue.
The long-running zip (or more likely unzip) process you mentioned lives in
{{{sugar.bundle.bundle.Bundle._unzip()}}}. It might be a good idea to
a) check uncompressed size (from ZIP directory) against statvfs().f_bfree
(with some additional safety margin) before uncompressing and
b) nice + ionice the unzip process to improve system responsiveness as the
unpack happens in the background, without telling the user about it
We should also check what happens if the unpacks dies mid-way without
clean-up, e.g. due to power loss. A quick glance at the code suggests it
will try to run the incomplete copy, never unpacking it cleanly (without
manual intervention).
--
Ticket URL: <http://bugs.sugarlabs.org/ticket/1876#comment:5>
Sugar Labs <http://sugarlabs.org/>
Sugar Labs bug tracking system
More information about the Bugs
mailing list