diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2016-02-01 12:00:25 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-07-16 07:22:13 +0200 |
commit | 0f5030d5de1650a20f371382ffc34999300dd712 (patch) | |
tree | 16a9a0b70e09b98c40b60e45c6057d93a55c26ca /cpukit/libfs/src/jffs2/src/nodemgmt.c | |
parent | Fix directory hardlinks from deleted directories (diff) | |
download | rtems-0f5030d5de1650a20f371382ffc34999300dd712.tar.bz2 |
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 '')
-rw-r--r-- | cpukit/libfs/src/jffs2/src/nodemgmt.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/cpukit/libfs/src/jffs2/src/nodemgmt.c b/cpukit/libfs/src/jffs2/src/nodemgmt.c index 012a4f30d0..d57142826c 100644 --- a/cpukit/libfs/src/jffs2/src/nodemgmt.c +++ b/cpukit/libfs/src/jffs2/src/nodemgmt.c @@ -848,8 +848,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; } |