[U-Boot] [PATCH v2 1/8] JFFS2: Return early when file read not necessary
Mark Tomlinson
mark.tomlinson at alliedtelesis.co.nz
Wed Jul 1 06:38:22 CEST 2015
If a destination is not provided, jffs2_1pass_read_inode() only
returns the length of the file. In this case, avoid reading all
the data nodes, and return as soon as the length of the file is
known.
Signed-off-by: Mark Tomlinson <mark.tomlinson at alliedtelesis.co.nz>
---
Changes in v2:
- Fix comment style
- Remove extra {} pair.
fs/jffs2/jffs2_1pass.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/fs/jffs2/jffs2_1pass.c b/fs/jffs2/jffs2_1pass.c
index b1d6470..2e569ff 100644
--- a/fs/jffs2/jffs2_1pass.c
+++ b/fs/jffs2/jffs2_1pass.c
@@ -719,6 +719,12 @@ jffs2_1pass_read_inode(struct b_lists *pL, u32 inode, char *dest)
}
put_fl_mem(jNode, pL->readbuf);
}
+ /*
+ * If no destination is provided, we are done.
+ * Just return the total size.
+ */
+ if (!dest)
+ return totalSize;
#endif
for (b = pL->frag.listHead; b != NULL; b = b->next) {
--
1.9.1
More information about the U-Boot
mailing list