We need to update i_version inside cycle to find really latest version
inside jffs2_1pass_list_inodes(). With that fixed we can use isize inside
dump_inode() instead of calling expensive jffs2_1pass_read_inode().
Signed-off-by: Alexey Neyman [EMAIL PROTECTED]
Signed-off-by: Ilya Yanok [EMAIL PROTECTED]
---
fs/jffs2/jffs2_1pass.c |5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/fs/jffs2/jffs2_1pass.c b/fs/jffs2/jffs2_1pass.c
index 920d2fd..35743fc 100644
--- a/fs/jffs2/jffs2_1pass.c
+++ b/fs/jffs2/jffs2_1pass.c
@@ -940,9 +940,7 @@ static inline u32 dump_inode(struct b_lists * pL, struct
jffs2_raw_dirent *d, st
st.st_mtime = i-mtime;
st.st_mode = i-mode;
st.st_ino = i-ino;
-
- /* neither dsize nor isize help us.. do it the long way */
- st.st_size = jffs2_1pass_read_inode(pL, i-ino, NULL);
+ st.st_size = i-isize;
dump_stat(st, fname);
@@ -976,6 +974,7 @@ jffs2_1pass_list_inodes(struct b_lists * pL, u32 pino)
jNode = (struct jffs2_raw_inode *)
get_fl_mem(b2-offset, sizeof(ojNode),
ojNode);
if (jNode-ino == jDir-ino jNode-version
= i_version) {
+ i_version = jNode-version;
if (i)
put_fl_mem(i);
--
1.5.6.1
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot