Determining if writing to a jffs2 partition will fail

Jonas Holmberg jonas.holmberg at axis.com
Sat Dec 20 09:34:04 EST 2003


Is there any reliable way to determine if a regular file can be 
written to a jffs2 partition without getting ENOSPC? I don't want to 
write the file to jffs2 and then find out that the fs was full, 
because other processes might fail to write to the fs during that 
test (if the fs gets full).

The best I have come up with is:

1. gzip the file (on tmpfs)
2. do statfs on jffs2 the get available space
3. test if the gzipped file would fit in jffs2 without making 
   available space go below one eraseblock (64KiB on my NOR flash).

If it succeeds I would be almost shure the gunzipped file could be 
written to jffs2 without getting ENOSPC, but gzip will of course not 
compress the file to exacly the same size as jffs2 will. And 
statfs won't always tell the truth. I could of course send SIGHUP 
to the gc-thread, wait some and try again.

This doesn't feel like a good solution though, does anyone know of any 
better way?

/Jonas



More information about the linux-mtd mailing list