mounting jffs2

Artem B. Bityuckiy dedekind at infradead.org
Thu Apr 21 03:48:43 EDT 2005


Sergei Sharonov wrote:
> What exactly can I do after mount returns: ls is blocked, write is
blocked..

ls mustn't not blocked in theory.

Again shortly:

* ls needs iget() of the ls-ed directory inode and of all its parent
inodes.
* ls -l is ls + iget() of all L1 children inodes of the ls-ed directory.
* iget() is slow for large files like your 200MiB 
* iget() is slow for large directories (i.e., tere are a lot of L1
direntries)
* just after mount JFFS2 performs checking
* checking = fake iget() of all the filesystem inodes; fake means iget()
without actually going to the Linux Inode Cache;
* GC cant proceed while checking is in progress;
* reads may proceed;

If you have one 200MiB file then just after mount:
* jffs2 starts checking fs, you must see it typing 'top';
* ls must be quick;
* ls -l needs iget() and will do iget() of your large file.

-- 
Best Regards,
Artem B. Bityuckiy,
St.-Petersburg, Russia.





More information about the linux-mtd mailing list