Revision tags: v2.6.29-rc5, v2.6.29-rc4, v2.6.29-rc3, v2.6.29-rc2, v2.6.29-rc1, v2.6.28, v2.6.28-rc9, v2.6.28-rc8, v2.6.28-rc7, v2.6.28-rc6, v2.6.28-rc5, v2.6.28-rc4, v2.6.28-rc3, v2.6.28-rc2, v2.6.28-rc1, v2.6.27, v2.6.27-rc9, v2.6.27-rc8, v2.6.27-rc7, v2.6.27-rc6, v2.6.27-rc5, v2.6.27-rc4, v2.6.27-rc3, v2.6.27-rc2, v2.6.27-rc1, v2.6.26, v2.6.26-rc9, v2.6.26-rc8, v2.6.26-rc7, v2.6.26-rc6, v2.6.26-rc5, v2.6.26-rc4, v2.6.26-rc3, v2.6.26-rc2, v2.6.26-rc1 |
|
#
a98889f3 |
| 30-Apr-2008 |
Jared Hulbert <jaredeh@gmail.com> |
[MTD][NOR] Add physical address to point() method
Adding the ability to get a physical address from point() in addition to virtual address. This physical address is required for XIP of userspace co
[MTD][NOR] Add physical address to point() method
Adding the ability to get a physical address from point() in addition to virtual address. This physical address is required for XIP of userspace code from flash.
Signed-off-by: Jared Hulbert <jaredeh@gmail.com> Reviewed-by: Jörn Engel <joern@logfs.org> Acked-by: Nicolas Pitre <nico@cam.org> Acked-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
27c72b04 |
| 01-May-2008 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] Track parent inode for directories (for NFS export)
To support NFS export, we need to know the parent inode of directories. Rather than growing the jffs2_inode_cache structure, share space w
[JFFS2] Track parent inode for directories (for NFS export)
To support NFS export, we need to know the parent inode of directories. Rather than growing the jffs2_inode_cache structure, share space with the nlink field -- which was always set to 1 for directories anyway.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
2c61cb25 |
| 23-Apr-2008 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] Introduce dbg_readinode2 log level, use it to shut read_dnode() up
We haven't seen bugs in this for a while now, since the rewrite. No need to be _quite_ so verbose...
Signed-off-by: David
[JFFS2] Introduce dbg_readinode2 log level, use it to shut read_dnode() up
We haven't seen bugs in this for a while now, since the rewrite. No need to be _quite_ so verbose...
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
ced22070 |
| 22-Apr-2008 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] semaphore->mutex conversion
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
Revision tags: v2.6.25, v2.6.25-rc9, v2.6.25-rc8, v2.6.25-rc7, v2.6.25-rc6, v2.6.25-rc5, v2.6.25-rc4, v2.6.25-rc3, v2.6.25-rc2, v2.6.25-rc1 |
|
#
e1b8513d |
| 03-Feb-2008 |
Robert P. J. Day <rpjday@crashcourse.ca> |
Typoes: "whith" -> "with"
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Adrian Bunk <bunk@kernel.org>
|
Revision tags: v2.6.24, v2.6.24-rc8, v2.6.24-rc7, v2.6.24-rc6, v2.6.24-rc5, v2.6.24-rc4 |
|
#
c2056e1e |
| 27-Nov-2007 |
Alexey Korolev <akorolev@infradead.org> |
[JFFS2] Fix return value check for mtd->point() in check_node_data()
If we ask it to map 'len' bytes of the device, don't compare against some other number and whine that it's different. That's a l
[JFFS2] Fix return value check for mtd->point() in check_node_data()
If we ask it to map 'len' bytes of the device, don't compare against some other number and whine that it's different. That's a little silly.
Signed-off-by: Alexey Korolev <akorolev@infradead.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
92525726 |
| 21-Nov-2007 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] Fix data CRC checking on NOR flash.
We were failing to check the data CRC on data nodes on non-writebuffered flash, which led to "interesting" behaviour on unclean shutdowns.
Signed-off-by:
[JFFS2] Fix data CRC checking on NOR flash.
We were failing to check the data CRC on data nodes on non-writebuffered flash, which led to "interesting" behaviour on unclean shutdowns.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
Revision tags: v2.6.24-rc3, v2.6.24-rc2, v2.6.24-rc1, v2.6.23, v2.6.23-rc9, v2.6.23-rc8, v2.6.23-rc7, v2.6.23-rc6, v2.6.23-rc5, v2.6.23-rc4, v2.6.23-rc3, v2.6.23-rc2, v2.6.23-rc1, v2.6.22, v2.6.22-rc7, v2.6.22-rc6, v2.6.22-rc5, v2.6.22-rc4, v2.6.22-rc3, v2.6.22-rc2, v2.6.22-rc1, v2.6.21, v2.6.21-rc7, v2.6.21-rc6, v2.6.21-rc5, v2.6.21-rc4, v2.6.21-rc3, v2.6.21-rc2, v2.6.21-rc1, v2.6.20, v2.6.20-rc7, v2.6.20-rc6 |
|
#
59d8235b |
| 12-Jan-2007 |
Andy Lowe <alowe@mvista.com> |
[JFFS2] Fix unpoint length
Fix a couple of instances in JFFS2 where the unpoint() routine is being called with the wrong length in cases where the point() routine truncated a request.
Signed-off-by
[JFFS2] Fix unpoint length
Fix a couple of instances in JFFS2 where the unpoint() routine is being called with the wrong length in cases where the point() routine truncated a request.
Signed-off-by: Andy Lowe <alowe@mvista.com> Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
b8e3ec30 |
| 05-Jul-2007 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] Print correct node offset when complaining about broken data CRC
Debugging the hardware problems in OLPC trac #1905 would be a whole lot easier if the correct node offsets were printed for t
[JFFS2] Print correct node offset when complaining about broken data CRC
Debugging the hardware problems in OLPC trac #1905 would be a whole lot easier if the correct node offsets were printed for the offending nodes.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
71c23397 |
| 29-Jun-2007 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] Deletion dirents should be REF_NORMAL, not REF_PRISTINE.
Otherwise they'll never actually get garbage-collected. Noted by Jonathan Larmour.
Signed-off-by: David Woodhouse <dwmw2@infradead.o
[JFFS2] Deletion dirents should be REF_NORMAL, not REF_PRISTINE.
Otherwise they'll never actually get garbage-collected. Noted by Jonathan Larmour.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
ef53cb02 |
| 10-Jul-2007 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] Whitespace cleanups.
Convert many spaces to tabs; one or two other minor cosmetic fixes.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
#
b2e25235 |
| 05-Jul-2007 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] Print correct node offset when complaining about broken data CRC
Debugging the hardware problems in OLPC trac #1905 would be a whole lot easier if the correct node offsets were printed for t
[JFFS2] Print correct node offset when complaining about broken data CRC
Debugging the hardware problems in OLPC trac #1905 would be a whole lot easier if the correct node offsets were printed for the offending nodes.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
14c6381e |
| 03-Jul-2007 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] Fix readinode failure when read_dnode() detects CRC failure.
We should have stopped returning 1 from read_dnode() to indicate failure. We can just mark the damn thing obsolete immediately. B
[JFFS2] Fix readinode failure when read_dnode() detects CRC failure.
We should have stopped returning 1 from read_dnode() to indicate failure. We can just mark the damn thing obsolete immediately. But I missed a case where we don't.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
43dfa07f |
| 29-Jun-2007 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] Deletion dirents should be REF_NORMAL, not REF_PRISTINE.
Otherwise they'll never actually get garbage-collected. Noted by Jonathan Larmour.
Signed-off-by: David Woodhouse <dwmw2@infradead.o
[JFFS2] Deletion dirents should be REF_NORMAL, not REF_PRISTINE.
Otherwise they'll never actually get garbage-collected. Noted by Jonathan Larmour.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
e2baf4ed |
| 03-Jul-2007 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] Fix readinode failure when read_dnode() detects CRC failure.
We should have stopped returning 1 from read_dnode() to indicate failure. We can just mark the damn thing obsolete immediately. B
[JFFS2] Fix readinode failure when read_dnode() detects CRC failure.
We should have stopped returning 1 from read_dnode() to indicate failure. We can just mark the damn thing obsolete immediately. But I missed a case where we don't.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
0477d24e |
| 01-Jun-2007 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] Fix obsoletion of metadata nodes in jffs2_add_tn_to_tree()
We should keep the mdata node with higher version number, not just the one we happen to find latest. Doh.
Signed-off-by: David Woo
[JFFS2] Fix obsoletion of metadata nodes in jffs2_add_tn_to_tree()
We should keep the mdata node with higher version number, not just the one we happen to find latest. Doh.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
ea55d307 |
| 30-May-2007 |
Artem Bityutskiy <Artem.Bityutskiy@nokia.com> |
[JFFS2] Fix buffer length calculations in jffs2_get_inode_nodes()
If we have already read enough bytes, no need to call read_more().
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Sig
[JFFS2] Fix buffer length calculations in jffs2_get_inode_nodes()
If we have already read enough bytes, no need to call read_more().
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
1c979645 |
| 07-May-2007 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] Simplify and clean up jffs2_add_tn_to_tree() some more.
Fixing at least a couple more bugs in the process.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
#
fcf3cafb |
| 07-May-2007 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] Remove another bogus optimisation in jffs2_add_tn_to_tree()
We attempted to insert new nodes into the tree by just using rb_replace_node to let them replace an earlier node which they comple
[JFFS2] Remove another bogus optimisation in jffs2_add_tn_to_tree()
We attempted to insert new nodes into the tree by just using rb_replace_node to let them replace an earlier node which they completely overlapped. However, that could place the new node into the wrong place in the tree, since its start could be node only before the start of the victim, but before the node _before_ the victim in the tree (if that previous node actually ends _after_ the new node, thus isn't entirely overlapped and wasn't itself chosen to be the victim).
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
96dd8d25 |
| 06-May-2007 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] Remove broken insert_point optimisation in jffs2_add_tn_to_tree()
The original code would remember, during the first pass over the tree, a suitable place to start the insertion from when we
[JFFS2] Remove broken insert_point optimisation in jffs2_add_tn_to_tree()
The original code would remember, during the first pass over the tree, a suitable place to start the insertion from when we eventually come to add a new node.
The optimisation was broken, and we sometimes ended up inserting a new node in the wrong place because we started the insertion from the wrong point.
Just ditch the optimisation and start the insertion from the root of the tree, for now. I'll try it again when I'm feeling cleverer.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
1123e2a8 |
| 05-May-2007 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] Remember to calculate overlap on nodes which replace older nodes
This fixes a problem Artem found with the integck test tool -- we weren't correctly keeping track of the 'overlap' flag in so
[JFFS2] Remember to calculate overlap on nodes which replace older nodes
This fixes a problem Artem found with the integck test tool -- we weren't correctly keeping track of the 'overlap' flag in some cases, which led to the nodes being played back in an incorrect order and file corruption.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
61c4b237 |
| 25-Apr-2007 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] Handle inodes with only a single metadata node with non-zero isize
This should never happen unless there's corruption on the medium and the actual data nodes go missing. But the failure mode
[JFFS2] Handle inodes with only a single metadata node with non-zero isize
This should never happen unless there's corruption on the medium and the actual data nodes go missing. But the failure mode (an oops when we assume the fragtree isn't empty and go looking for its last node) isn't useful.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
c00c310e |
| 25-Apr-2007 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] Tidy up licensing/copyright boilerplate.
In particular, remove the bit in the LICENCE file about contacting Red Hat for alternative arrangements. Their errant IS department broke that arrang
[JFFS2] Tidy up licensing/copyright boilerplate.
In particular, remove the bit in the LICENCE file about contacting Red Hat for alternative arrangements. Their errant IS department broke that arrangement a long time ago -- the policy of collecting copyright assignments from contributors came to an end when the plug was pulled on the servers hosting the project, without notice or reason.
We do still dual-license it for use with eCos, with the GPL+exception licence approved by the FSF as being GPL-compatible. It's just that nobody has the right to license it differently.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
0dec4c8b |
| 10-Mar-2007 |
Joakim Tjernlund <joakim.tjernlund@transmode.se> |
[JFFS2] Better fix for all-zero node headers
No need to check for all-zero header since the header cannot be zero due to other checks.
Replace the all-zero header check in readinode.c with a check
[JFFS2] Better fix for all-zero node headers
No need to check for all-zero header since the header cannot be zero due to other checks.
Replace the all-zero header check in readinode.c with a check for the magic word.
Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|
#
df8e96f3 |
| 24-Apr-2007 |
David Woodhouse <dwmw2@infradead.org> |
[JFFS2] Improve read_inode memory usage, v2.
We originally used to read every node and allocate a jffs2_tmp_dnode_info structure for each, before processing them in (reverse) version order and disca
[JFFS2] Improve read_inode memory usage, v2.
We originally used to read every node and allocate a jffs2_tmp_dnode_info structure for each, before processing them in (reverse) version order and discarding the ones which are obsoleted by later nodes.
With huge logfiles, this behaviour caused memory problems. For example, a file involved in OLPC trac #1292 has 1822391 nodes, and would cause the XO machine to run out of memory during the first stage of read_inode().
Instead of just inserting nodes into a tree in version order as we find them, we now put them into a tree in order of their offset within the file, which allows us to immediately discard nodes which are completely obsoleted.
We don't use a full tree with 'fragments' pointing to the real data structure, as we do in the normal fragtree. We sort only on the start address, and add an 'overlapped' flag to the tmp_dnode_info to indicate that the node in question is (partially) overlapped by another.
When the scan is complete, we start at the end of the file, adding each node to a real fragtree as before. Where the node is non-overlapped, we just add it (it doesn't matter that it's not the latest version; there is no overlap). When the node at the end of the tree _is_ overlapped, we sort it and all its overlapping nodes into version order and then add them to the fragtree in that order.
This 'early discard' reduces the peak allocation of tmp_dnode_info structures from 1.8M to a mere 62872 (3.5%) in the degenerate case referenced above.
This version of the patch also correctly rememembers the highest node version# seen for an inode when it's scanned.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
show more ...
|