jffs2: -ENOSPC when truncating file?!
Jörn Engel
joern at logfs.org
Sun Feb 24 01:57:52 EST 2008
On Sun, 24 February 2008 09:36:07 +0900, David Woodhouse wrote:
> On Sun, 2008-02-24 at 00:57 +0100, Pavel Machek wrote:
> >
> > I'm trying to free space by truncating big file, and I get:
> >
> > root at fic-gta01:~# ls -al gps.nmea
> > -rw-r--r-- 1 root root 2332070 Feb 19 22:13 gps.nmea
> > root at fic-gta01:~# > gps.nmea
> > -sh: cannot create gps.nmea: No space left on device
> > root at fic-gta01:~# rm gps.nmea
> > root at fic-gta01:~# > gps.nmea
> > root at fic-gta01:~#
>
> You need to write a log entry indicating the new length of the file.
> There is no space for new log entries.
>
> There is a special case for removal -- 'rm gps.nmea' would work. Perhaps
> we should add a special case for truncation too, so that it can also use
> the extra pool of free space.
Could a naïve implementation of this get exploited by doing a large
number of truncates that just shave single bytes off various files?
Looks like the safe way to do it would be to write out a replacement
node for the truncated node, if the special case ever triggers.
Jörn
--
"[One] doesn't need to know [...] how to cause a headache in order
to take an aspirin."
-- Scott Culp, Manager of the Microsoft Security Response Center, 2001
More information about the linux-mtd
mailing list