Many small files instead of one large files - writing, wearing, mount-time?

Martin Egholm Nielsen martin at egholm-nielsen.dk
Tue Mar 8 03:59:36 EST 2005


Hi there,

I'm about to make a choice of design. I have many many (i.e. O(3) - 
[0-9]*1000) "resources" in an application that need their states flushed 
to NAND-JFFS2 whenever they change - which happens with very different 
frequencies for different resources.

Hence, me initial strategy was to have a file in NAND for each resource. 
However, I noticed that mount-time increased "severely" when many files 
were put on the device, and doing an "ls" first time on the 
device/directory took lots of time as well.

Unfortunately low mount-time is one of the factors giving the user a 
good experience with the system, so I started considering another 
strategy - namely one large file to hold all these states.

However, I'm a bit concerned how fopen( ..., "rw" ) is handled 
underneith when I flush/sync the filedescriptor if I only mess with a 
small part of the file. Is the entire file flushed to NAND once more, or 
does Linux+JFFS2 handle this, and only write the parts (inodes) that are 
affected...

BR,
  Martin





More information about the linux-mtd mailing list