According to df there is plenty (about 50G) space left on the device.
/ # df db
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mmcblk0p3 61812032 11308736 50503296 18% /db
Why might this vala code indicate otherwise?
try
{
FileUtils.set_data(bmp_path, bmp);
}
catch (Error e)
{
printf("Error! FileUtils.set_data %s\n%s\n", bmp_path, e.message);
}
The code, of course, prints out
Error! FileUtils.set_data /db/20121112/165206.0.bmp
Failed to create file '/db/20121112/165206.0.bmp.9X8PNW': No space left on device
Is there a limit on the number files that GLib.FileUtils can handle in one directory? /db/20121112 contains 27220 files (half jpeg and half bmp).
mmcblk0p3 was created like this
echo -e "n\np\n3\n66\n\nt\n3\nc\nw" | fdisk /dev/mmcblk0
and formatted like this
mkfs.vfat -n DB -F 32 /dev/mmcblk0p3
This is probably a don't care but the device is a 64G SD card and mmcblk0p1 and mmcblk0p2 are used for boot and rootfs.
Checking inodes as Barmar suggested in comments like this causes
df: invalid option -- 'i'
BusyBox v1.18.2 (2012-11-09 13:08:26 EST) multi-call binary.
which is odd since according to the BusyBox docs, df -i is valid
df [-Pkmhai] [-B SIZE] [FILESYSTEM...]
-i Inodes
Is there another way to check inodes?
Update [11-15-2012]: I thought the issue might be too many files per folder so I modified the code to open a new folder hourly rather than daily but it still died after saving 44354 images about evenly distributed in 7 folders using 16.7 of a 64 GB SD card.
df -i db
. – Ickybmp.length
? – Augustinacp
? – Augustina