- 18 3月, 2010 1 次提交
-
-
由 Venkatesh Pallipadi 提交于
jffs2 uses rb_node = NULL; to zero rb_root. The problem with this is that 17d9ddc7 ("rbtree: Add support for augmented rbtrees") in the linux-next tree adds a new field to that struct which needs to be NULL as well. This patch uses RB_ROOT as the intializer so all of the relevant fields will be NULL'd. Signed-off-by: NVenkatesh Pallipadi <venkatesh.pallipadi@intel.com> Cc: Eric Paris <eparis@redhat.com> Acked-by: NDavid Woodhouse <dwmw2@infradead.org> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 04 12月, 2009 1 次提交
-
-
由 André Goddard Rosa 提交于
That is "success", "unknown", "through", "performance", "[re|un]mapping" , "access", "default", "reasonable", "[con]currently", "temperature" , "channel", "[un]used", "application", "example","hierarchy", "therefore" , "[over|under]flow", "contiguous", "threshold", "enough" and others. Signed-off-by: NAndré Goddard Rosa <andre.goddard@gmail.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 30 11月, 2009 1 次提交
-
-
由 Roel Kluin 提交于
The returned error should stay negative Signed-off-by: NRoel Kluin <roel.kluin@gmail.com> Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
- 24 6月, 2009 1 次提交
-
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
-
- 21 2月, 2009 1 次提交
-
-
由 Thomas Gleixner 提交于
At scan time we observed following scenario: node A inserted node B inserted node C inserted -> sets overlapped flag on node B node A is removed due to CRC failure -> overlapped flag on node B remains while (tn->overlapped) tn = tn_prev(tn); ==> crash, when tn_prev(B) is referenced. When the ultimate node is removed at scan time and the overlapped flag is set on the penultimate node, then nothing updates the overlapped flag of that node. The overlapped iterators blindly expect that the ultimate node does not have the overlapped flag set, which causes the scan code to crash. It would be a huge overhead to go through the node chain on node removal and fix up the overlapped flags, so detecting such a case on the fly in the overlapped iterators is a simpler and reliable solution. Cc: stable@kernel.org Signed-off-by: NThomas Gleixner <tglx@linutronix.de> Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
-
- 02 5月, 2008 2 次提交
-
-
由 Jared Hulbert 提交于
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: NJared Hulbert <jaredeh@gmail.com> Reviewed-by: NJörn Engel <joern@logfs.org> Acked-by: NNicolas Pitre <nico@cam.org> Acked-by: NGreg Ungerer <gerg@uclinux.org> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
由 David Woodhouse 提交于
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: NDavid Woodhouse <dwmw2@infradead.org>
-
- 23 4月, 2008 1 次提交
-
-
由 David Woodhouse 提交于
We haven't seen bugs in this for a while now, since the rewrite. No need to be _quite_ so verbose... Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 22 4月, 2008 1 次提交
-
-
由 David Woodhouse 提交于
Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 03 2月, 2008 1 次提交
-
-
由 Robert P. J. Day 提交于
Signed-off-by: NRobert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: NAdrian Bunk <bunk@kernel.org>
-
- 28 11月, 2007 1 次提交
-
-
由 Alexey Korolev 提交于
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: NAlexey Korolev <akorolev@infradead.org> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 22 11月, 2007 1 次提交
-
-
由 David Woodhouse 提交于
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: NDavid Woodhouse <dwmw2@infradead.org>
-
- 24 9月, 2007 1 次提交
-
-
由 Andy Lowe 提交于
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: NAndy Lowe <alowe@mvista.com> Signed-off-by: NNicolas Pitre <nico@cam.org> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 03 8月, 2007 2 次提交
-
-
由 David Woodhouse 提交于
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: NDavid Woodhouse <dwmw2@infradead.org>
-
由 David Woodhouse 提交于
Otherwise they'll never actually get garbage-collected. Noted by Jonathan Larmour. Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 10 7月, 2007 1 次提交
-
-
由 David Woodhouse 提交于
Convert many spaces to tabs; one or two other minor cosmetic fixes. Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 05 7月, 2007 1 次提交
-
-
由 David Woodhouse 提交于
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: NDavid Woodhouse <dwmw2@infradead.org>
-
- 04 7月, 2007 2 次提交
-
-
由 David Woodhouse 提交于
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: NDavid Woodhouse <dwmw2@infradead.org>
-
由 David Woodhouse 提交于
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: NDavid Woodhouse <dwmw2@infradead.org>
-
- 29 6月, 2007 1 次提交
-
-
由 David Woodhouse 提交于
Otherwise they'll never actually get garbage-collected. Noted by Jonathan Larmour. Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 02 6月, 2007 1 次提交
-
-
由 David Woodhouse 提交于
We should keep the mdata node with higher version number, not just the one we happen to find latest. Doh. Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 01 6月, 2007 1 次提交
-
-
由 Artem Bityutskiy 提交于
If we have already read enough bytes, no need to call read_more(). Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 08 5月, 2007 1 次提交
-
-
由 David Woodhouse 提交于
Fixing at least a couple more bugs in the process. Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 07 5月, 2007 1 次提交
-
-
由 David Woodhouse 提交于
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: NDavid Woodhouse <dwmw2@infradead.org>
-
- 06 5月, 2007 1 次提交
-
-
由 David Woodhouse 提交于
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: NDavid Woodhouse <dwmw2@infradead.org>
-
- 05 5月, 2007 1 次提交
-
-
由 David Woodhouse 提交于
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: NDavid Woodhouse <dwmw2@infradead.org>
-
- 26 4月, 2007 1 次提交
-
-
由 David Woodhouse 提交于
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: NDavid Woodhouse <dwmw2@infradead.org>
-
- 25 4月, 2007 3 次提交
-
-
由 David Woodhouse 提交于
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: NDavid Woodhouse <dwmw2@infradead.org>
-
由 Joakim Tjernlund 提交于
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: NJoakim Tjernlund <Joakim.Tjernlund@transmode.se> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
由 David Woodhouse 提交于
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: NDavid Woodhouse <dwmw2@infradead.org>
-
- 18 4月, 2007 1 次提交
-
-
由 Artem Bityutskiy 提交于
In read inode we have an optimization which prevents one min. I/O unit (e.g. NAND page) to be read more then once. Namely, at the beginning we do not know which node type we read, so we read so we assume we read the directory entry, because it has the smallest node header. When we read it, we read up to the next min. I/O unit, just because if later we'll need to read more, we already have this data. If it turns out to be that the node is not directory entry, and we need more data, and we did not read it because it sits in the next min. I/O unit, we read the whole next (or several next) min. I/O unit(s). And if it happens to be that we read a data node, and we've read part of its data, we calculate partial CRC. So if later we need to check data CRC, we'll only read the rest of the data from further min. I/O units and continue CRC checking. This code was a bit messy and buggy. The bug was that it assumed relatively large min. I/O unit, so that the largest node header could overlap only one min. I/O unit boundary. This parch clean-ups the code a bit and fixes this bug. The patch was not tested on flash with small min. I/O unit, like NOR-ECC, nut it was tested on NAND with 512 bytes NAND page, so it at least does not break NAND. It was also tested with mtdram so it should not break NOR. Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 09 3月, 2007 1 次提交
-
-
由 David Woodhouse 提交于
Due to a poor choice of CRC32 seed, a node header which is all zeroes would pass the CRC32 check. Explicitly check for this case, and treat it as we do a CRC failure. Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 10 12月, 2006 1 次提交
-
-
由 Yan Burman 提交于
Replace kmalloc+memset with kzalloc Signed-off-by: NYan Burman <burman.yan@gmail.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 02 7月, 2006 1 次提交
-
-
由 KaiGai Kohei 提交于
jffs2_clear_acl() which releases acl caches allocated by kmalloc() was defined but it was never called. Thus, we faced to the risk of memory leaking. This patch plugs jffs2_clear_acl() into jffs2_do_clear_inode(). It ensures to release acl cache when inode is cleared. Signed-off-by: NKaiGai Kohei <kaigai@ak.jp.nec.com> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 27 6月, 2006 1 次提交
-
-
由 KaiGai Kohei 提交于
If xattr_ref is associated with an orphan inode_cache on filesystem mounting, those xattr_refs are not released even if this inode_cache is released. This patch enables to call jffs2_xattr_delete_inode() for such a irregular inode_cachde too. Signed-off-by: NKaiGai Kohei <kaigai@ak.jp.nec.com> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 19 6月, 2006 1 次提交
-
-
由 David Woodhouse 提交于
Also, make sure dirents are marked REF_UNCHECKED when we 'discover' them through eraseblock summary. Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 18 6月, 2006 1 次提交
-
-
由 David Woodhouse 提交于
Especially when summary code is used, we can have in-memory data structures referencing certain nodes without them actually being readable on the flash. Discard the nodes gracefully in that case, rather than triggering a BUG(). Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 13 5月, 2006 2 次提交
-
-
由 KaiGai Kohei 提交于
This patch can reduce 4-byte of memory usage per inode_cache. [4/10] jffs2-xattr-v5.1-04-remove_ilist_from_ic.patch Signed-off-by: NKaiGai Kohei <kaigai@ak.jp.nec.com>
-
由 KaiGai Kohei 提交于
This attached patches provide xattr support including POSIX-ACL and SELinux support on JFFS2 (version.5). There are some significant differences from previous version posted at last December. The biggest change is addition of EBS(Erase Block Summary) support. Currently, both kernel and usermode utility (sumtool) can recognize xattr nodes which have JFFS2_NODETYPE_XATTR/_XREF nodetype. In addition, some bugs are fixed. - A potential race condition was fixed. - Unexpected fail when updating a xattr by same name/value pair was fixed. - A bug when removing xattr name/value pair was fixed. The fundamental structures (such as using two new nodetypes and exclusion mechanism by rwsem) are unchanged. But most of implementation were reviewed and updated if necessary. Espacially, we had to change several internal implementations related to load_xattr_datum() to avoid a potential race condition. [1/2] xattr_on_jffs2.kernel.version-5.patch [2/2] xattr_on_jffs2.utils.version-5.patch Signed-off-by: NKaiGai Kohei <kaigai@ak.jp.nec.com> Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-
- 21 4月, 2006 1 次提交
-
-
由 David Woodhouse 提交于
Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
-