mounting jffs2

Artem B. Bityuckiy dedekind at infradead.org
Wed Apr 13 11:02:36 EDT 2005


On Wed, 2005-04-13 at 14:22 +0000, Sergei Sharonov wrote:
> I will try that. My log data is comming in 1 kB chunks, so in order to do
> 4 kB at a time I will have to implement some sort of <power fail safe>
> buffering.
It isn't obligatory to write by 4K. But if you write *intensively*, it
will be very helpful. Otherwise, just stay with 1K. And of course, the
best way to try both variants. You may try 4k without the "power fail"
things and decide whether it helps or not.

> Hmm.. ls is not a writer but it is blocked as well.
It may be blocked but for shorter time (checking one ore few inodes, not
all). Do you have very big files or directories with a lot of L1
children ?

> # time umount /mnt/flash/
> 
> real    11m25.534s
> user    0m0.000s
> sys     0m0.250s
Well, this is bad. I may suggest where to dig:

on unmount jffs2_stop_garbage_collect_thread() is called, sends SIGKILL
to the GC thread and waits for it. Meanwhile, GC thread revolves around
at jffs2_garbage_collect_pass() calling jffs2_do_crccheck_inode() for
all inodes. Theoretically it returns after it checks an inode and
processes signals (background.c:115).

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





More information about the linux-mtd mailing list