]> git.karo-electronics.de Git - karo-tx-linux.git/commit
jffs2: Improve post-mount CRC scan efficiency
authorDavid Woodhouse <David.Woodhouse@intel.com>
Mon, 1 Feb 2016 12:00:25 +0000 (12:00 +0000)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Mon, 29 Feb 2016 22:29:10 +0000 (22:29 +0000)
commit5817b9dc9cc1225feedd9e1282707165fc64c384
tree309d8459630ce24498e02b78091aa3e3594c8678
parentd267aefc54a28efc5bda7f009598dc83b5f98734
jffs2: Improve post-mount CRC scan efficiency

We need to finish doing the CRC checks before we can allow writes to
happen, and we currently process the inodes in order. This means a call
to jffs2_get_ino_cache() for each possible inode# up to c->highest_ino.

There may be a lot of lookups which fail, if the inode# space is used
sparsely. And the inode# space is *often* used sparsely, if a file
system contains a lot of stuff that was put there in the original
image, followed by lots of creation and deletion of new files.

Instead of processing them numerically with a lookup each time, just
walk the hash buckets instead.

[fix locking typo reported by Dan Carpenter]
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
fs/jffs2/gc.c
fs/jffs2/jffs2_fs_sb.h
fs/jffs2/nodemgmt.c