[JFFS2] Optimise reading of eraseblock summary nodes
authorDavid Woodhouse <dwmw2@infradead.org>
Sat, 20 May 2006 15:13:34 +0000 (16:13 +0100)
committerDavid Woodhouse <dwmw2@infradead.org>
Sat, 20 May 2006 15:13:34 +0000 (16:13 +0100)
commit9641b784ff82cf0a48a6c70ef9867f5fd728de67
tree40d7bbc06ee5e54560ea7e7dabe75ac01a72e00c
parent6c8b44abc86a3e23dd1a22c0ee187f06bd7c7f5d
[JFFS2] Optimise reading of eraseblock summary nodes

This improves the time to mount 512MiB of NAND flash on my OLPC prototype
by about 4%. We used to read the last page of the eraseblock twice -- once
to find the offset of the summary node, and again to actually _read_ the
summary node. Now we read the last page only once, and read more only if
we need to.

We also don't allocate a new buffer just for the summary code -- we use
the buffer which was already allocated for the scan. Better still, if the
'buffer' for the scan is actually just a pointer directly into NOR flash,
we use that too, avoiding the memcpy() which we used to do.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
fs/jffs2/scan.c
fs/jffs2/summary.c
fs/jffs2/summary.h