21 Oct, 2008
1 commit
-
Build failure introduced by 5bf1723723487ddb0b9c9641b6559da96b27cc93
[JFFS2] Write buffer offset adjustment for NOR-ECC (Sibley) flashSigned-off-by: Steve Glendinning
Signed-off-by: David Woodhouse
18 Oct, 2008
1 commit
-
After choosing new c->nextblock, don't leave the wbuf offset field
occasionally pointing at the start of the next physical eraseblock.
This was causing a BUG() on NOR-ECC (Sibley) flash, where we start
writing after the cleanmarker.Among other this fix should cover write buffer offset adjustment
after flushing the last page of an eraseblock.Signed-off-by: Alexander Belyakov
Signed-off-by: David Woodhouse
02 May, 2008
1 commit
-
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
23 Apr, 2008
1 commit
-
When _all_ the blocks were on the erase_pending_list, we could't find a
block to GC from but there was no _actually_ free space, and
jffs2_reserve_space() would get a little unhappy.Handle this case by returning -EAGAIN from jffs2_garbage_collect_pass().
There are two callers of that function -- jffs2_flush_wbuf_gc(), which
will interpret it as an error and flush the writebuffer by other means,
and jffs2_reserve_space(), which we modify to respond to -EAGAIN with an
immediate call to jffs2_erase_pending_blocks() and another run round the
loop.Signed-off-by: David Woodhouse
22 Apr, 2008
2 commits
-
Signed-off-by: David Woodhouse
-
fs/jffs2/nodemgmt.c:60:8: warning: symbol 'ret' shadows an earlier one
fs/jffs2/nodemgmt.c:45:6: originally declared here(reported by Harvey Harrison)
Just remove the offending declaration of 'int ret' and use the earlier one.
Signed-off-by: David Woodhouse
13 Oct, 2007
1 commit
-
... where we'll actually print the count in a debug message.
Signed-off-by: David Woodhouse
07 Oct, 2007
1 commit
-
With huge amounts of free space, we weren't bothering to GC for while a
while, and pathological numbers of obsolete nodes were accumulating,
seriously affecting performance on NAND flash (OLPC trac #3978)Signed-off-by: David Woodhouse
10 Jul, 2007
1 commit
-
Convert many spaces to tabs; one or two other minor cosmetic fixes.
Signed-off-by: David Woodhouse
29 Jun, 2007
1 commit
-
Jocke has seen this fail. We want to know why.
Signed-off-by: David Woodhouse
25 Apr, 2007
1 commit
-
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
18 Apr, 2007
1 commit
-
If a write error occurs, the affected block is placed on the
bad_used_list. In the case that the write error occured
when writing summary data the block was also being placed on
the dirty_list, which caused list corruption and ultimately
a soft lockup in jffs2_mark_node_obsolete. This fixes that.Signed-off-by: Adrian Hunter
Signed-off-by: Artem Bityutskiy
Signed-off-by: David Woodhouse
28 Jun, 2006
1 commit
-
* git://git.infradead.org/mtd-2.6:
[MTD] NAND: Select chip before checking write protect status
[MTD] CORE mtdchar.c: fix off-by-one error in lseek()
[MTD] NAND: Fix typo in mtd/nand/ts7250.c
[JFFS2][XATTR] coexistence between xattr and write buffering support.
[JFFS2][XATTR] Fix wrong copyright
[JFFS2][XATTR] Re-define xd->refcnt as atomic_t
[JFFS2][XATTR] Fix memory leak with jffs2_xattr_ref
[JFFS2][XATTR] rid unnecessary writing of delete marker.
[JFFS2][XATTR] Fix ACL bug when updating null xattr by null ACL.
[JFFS2][XATTR] using 'delete marker' for xdatum/xref deletion
[MTD] Fix off-by-one error in physmap.c
[MTD] Remove unused 'nr_banks' variable from ixp2000 map driver
[MTD NAND] s3c2412 support in s3c2410.c
[MTD] Initialize 'writesize'
[MTD] NAND: ndfc fix address offset thinko
[MTD] NAND: S3C2410 convert prinks to dev_*()s
[MTD] NAND: Missing fixups
27 Jun, 2006
2 commits
-
- When xdatum is removed, a new xdatum with 'delete marker' is
written. (version==0xffffffff means 'delete marker')
- When xref is removed, a new xref with 'delete marker' is written.
(odd-numbered xseqno means 'delete marker')- delete_xattr_(datum/xref)_delay() are new deletion functions
are added. We can only use them if we can detect the target
obsolete xdatum/xref as a orphan or errir one.
(e.g when inode deletion, or detecting crc error)[1/3] jffs2-xattr-v6-01-delete_marker.patch
Signed-off-by: KaiGai Kohei
Signed-off-by: David Woodhouse -
This patch converts the combination of list_del(A) and list_add(A, B) to
list_move(A, B) under fs/.Cc: Ian Kent
Acked-by: Joel Becker
Cc: Neil Brown
Cc: Hans Reiser
Cc: Urban Widmark
Acked-by: David Howells
Acked-by: Mark Fasheh
Signed-off-by: Akinobu Mita
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
19 Jun, 2006
1 commit
-
Failing to do so makes the calculated length of the last node incorrect,
when we're not using eraseblock summaries.Signed-off-by: David Woodhouse
27 May, 2006
1 commit
-
This allows us to drop another pointer from the struct jffs2_raw_node_ref,
shrinking it to 8 bytes on 32-bit machines (if the TEST_TOTLEN) paranoia
check is turned off, which will be committed soon).Signed-off-by: David Woodhouse
25 May, 2006
2 commits
-
Preallocation of refs is shortly going to be a per-eraseblock thing,
rather than per-filesystem. Add the required argument to the function.Signed-off-by: David Woodhouse
-
... to jffs2_free_jeb_node_refs() since that's what it does.
Signed-off-by: David Woodhouse
24 May, 2006
3 commits
-
Random unthinking 'cleanup' caused debug messages like this:
Obsoleting node at 0x0006daf4 of len 0x3a4: DirtyingIf messages are continuation of an existing line, they don't need
to be prefixed with KERN_DEBUG.THINK. Or you will be replaced by a small shell script.
Signed-off-by: David Woodhouse
-
Another part of the preparation for switching to an array...
Signed-off-by: David Woodhouse
-
As the first step towards eliminating the ref->next_phys member and saving
memory by using an _array_ of struct jffs2_raw_node_ref per eraseblock,
stop the write functions from allocating their own refs; have them just
_reserve_ the appropriate number instead. Then jffs2_link_node_ref() can
just fill them in.Use a linked list of pre-allocated refs in the superblock, for now. Once
we switch to an array, it'll just be a case of extending that array.Signed-off-by: David Woodhouse
23 May, 2006
1 commit
-
We don't need the upper layers to deal with the physical offset. It's
_always_ c->nextblock->offset + c->sector_size - c->nextblock->free_size
so we might as well just let the actual write functions deal with that.Signed-off-by: David Woodhouse
22 May, 2006
2 commits
-
In a couple of places, we assume that what's at the end of the
->next_in_ino list is a struct jffs2_inode_cache. Let's check
for that, since we expect it to change soon.Signed-off-by: David Woodhouse
-
Let's avoid the potential for forgetting to set ref->next_in_ino, by doing
it within jffs2_link_node_ref() instead.This highlights the ugliness of what we're currently doing with
xattr_datum and xattr_ref structures -- we should find a nicer way of
dealing with that.Signed-off-by: David Woodhouse
21 May, 2006
3 commits
-
Well, almost. We'll actually keep a 'TEST_TOTLEN' macro set for now, and keep
doing some paranoia checks to make sure it's all working correctly. But if
TEST_TOTLEN is unset, the size of struct jffs2_raw_node_ref drops from 16
bytes to 12 on 32-bit machines. That's a saving of about half a megabyte of
memory on the OLPC prototype board, with 125K or so nodes in its 512MiB of
flash.Signed-off-by: David Woodhouse
-
If __totlen is going away, we need to pass the length in separately.
Also stop callers from needlessly setting ref->next_phys to NULL,
since that's done for them... and since that'll also be going away soon.Signed-off-by: David Woodhouse
-
The same sequence of code was repeated in many places, to add a new
struct jffs2_raw_node_ref to an eraseblock and adjust the space accounting
accordingly. Move it out-of-line.Signed-off-by: David Woodhouse
20 May, 2006
1 commit
-
We were calling ref_totlen() 18 times. Even before that becomes a real
function rather than just a dereference, apparently some compilers still
suck anyway. It'll _certainly_ suck after ref_totlen() becomes more
complicated, so calculate it once and don't rely on CSE.Signed-off-by: David Woodhouse
07 Nov, 2005
5 commits
-
Signed-off-by: Thomas Gleixner
-
Simplify the debugging code further.
Update the TODO listSigned-off-by: Artem B. Bityutskiy
Signed-off-by: Thomas Gleixner -
Always keep valid data in reserved_size.
It did not cause problems, but the reservation code was unoptimal
when centralized summary was active or the size of the erase block
was very small.Signed-off-by: Ferenc Havasi
Signed-off-by: Thomas Gleixner -
The goal of summary is to speed up the mount time. Erase block summary (EBS)
stores summary information at the end of every (closed) erase block. It is
no longer necessary to scan all nodes separetly (and read all pages of them)
just read this "small" summary, where every information is stored which is
needed at mount time.This summary information is stored in a JFFS2_FEATURE_RWCOMPAT_DELETE. During
the mount process if there is no summary info the orignal scan process will
be executed. EBS works with NAND and NOR flashes, too.There is a user space tool called sumtool to generate this summary
information for a JFFS2 image.Signed-off-by: Ferenc Havasi
Signed-off-by: Thomas Gleixner -
Various simplifiactions. printk format corrections.
Convert more code to use the new debug functions.Signed-off-by: Artem B. Bityutskiy
Signed-off-by: Thomas Gleixner
06 Nov, 2005
1 commit
-
Move debug functions into a seperate source file
Signed-off-by: Artem B. Bityutskiy
Signed-off-by: Thomas Gleixner
23 May, 2005
5 commits
-
Embrace uneeded messages in D1().
Signed-off-by: Artem B. Bityuckiy
Signed-off-by: Thomas Gleixner -
Signed-off-by: Artem B. Bityuckiy
Signed-off-by: Thomas Gleixner -
Signed-off-by: Artem B. Bityuckiy
Signed-off-by: Thomas Gleixner -
Fix fairly sad NOR-specific bug - during FS building ic->scan_dents
isn't zero, but jffs2_mark_node_obsolete() migt be called it tries to
finde the ic corresponding to ref - this requires ic->scan_dents = 0.Signed-off-by: Artem B. Bityuckiy
Signed-off-by: Thomas Gleixner -
Don't remove inocache for inodes which are in read_inode() or
clear_inode() until they're done.Signed-off-by: David Woodhouse
Signed-off-by: Thomas Gleixner