diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2016-02-01 15:00:25 +0300 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2016-03-01 01:29:10 +0300 |
commit | 5817b9dc9cc1225feedd9e1282707165fc64c384 (patch) | |
tree | 309d8459630ce24498e02b78091aa3e3594c8678 /fs/jffs2/nodemgmt.c | |
parent | d267aefc54a28efc5bda7f009598dc83b5f98734 (diff) | |
download | linux-5817b9dc9cc1225feedd9e1282707165fc64c384.tar.xz |
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>
Diffstat (limited to 'fs/jffs2/nodemgmt.c')
-rw-r--r-- | fs/jffs2/nodemgmt.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/jffs2/nodemgmt.c b/fs/jffs2/nodemgmt.c index b6bd4affd9ad..cda0774c2c9c 100644 --- a/fs/jffs2/nodemgmt.c +++ b/fs/jffs2/nodemgmt.c @@ -846,8 +846,8 @@ int jffs2_thread_should_wake(struct jffs2_sb_info *c) return 1; if (c->unchecked_size) { - jffs2_dbg(1, "jffs2_thread_should_wake(): unchecked_size %d, checked_ino #%d\n", - c->unchecked_size, c->checked_ino); + jffs2_dbg(1, "jffs2_thread_should_wake(): unchecked_size %d, check_ino #%d\n", + c->unchecked_size, c->check_ino); return 1; } |