summaryrefslogtreecommitdiffstats
path: root/fs/jffs2 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* [JFFS2] Refine fragtree debug macrosArtem B. Bityutskiy2005-11-061-6/+6
| | | | | Signed-off-by: Artem B. Bityutskiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Move another fragtree-related function to nodelist.cArtem B. Bityutskiy2005-11-063-28/+28
| | | | | Signed-off-by: Artem B. Bityutskiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Fix up new debug code for eCos buildAndrew Lunn2005-11-063-10/+16
| | | | | | | The debug code cleanup broke the eCos build. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Debug code clean up - step 5Artem B. Bityutskiy2005-11-062-143/+117
| | | | | | | Replace the D1(printk()) style debugging with the new debug macros Signed-off-by: Artem B. Bityutskiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Move scattered function into related filesArtem B. Bityutskiy2005-11-063-800/+790
| | | | | | | | Move functions to read inodes into readinode.c Move functions to handle fragtree and dentry lists into nodelist.[ch] Signed-off-by: Artem B. Bityutskiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Debug code clean up - step 4Artem B. Bityutskiy2005-11-062-44/+54
| | | | | | | Small comment cleanups. Remove a unused macro Signed-off-by: Artem B. Bityutskiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [jffs2] Remove compressor lzo and lzariFerenc Havasi2005-11-062-22/+2
| | | | | | | Remove unused compressor code Signed-off-by: Ferenc Havasi <havasi@inf.u-szeged.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Namespace clean upArtem B. Bityutskiy2005-11-064-27/+8
| | | | | | | | Rename functions to a name matching the functionality. Remove stall debug code Signed-off-by: Artem B. Bityutskiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Debug code clean up - step 3Artem B. Bityutskiy2005-11-0614-239/+630
| | | | | | | | Various simplifiactions. printk format corrections. Convert more code to use the new debug functions. Signed-off-by: Artem B. Bityutskiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Fix slab panicArtem B. Bityutskiy2005-11-061-3/+2
| | | | | | | | | | When JFFS22 is unable to read the root inode, the bad root inode object is not freed and remains sticked in the jffs2_i slab cache. When we further try to free the slab cache (e.g., on rmmod jffs2), slab allocator subsystem panics. Fix this bug. Signed-off-by: Artem B. Bityutskiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Debug code clean up - step 2Artem B. Bityutskiy2005-11-065-13/+13
| | | | | | | | If debugging is disabled, define debugging functions as empty macros, instead of using Dx() explicitly. Signed-off-by: Artem B. Bityutskiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Use f->target instead of f->dents for symlink targetArtem B. Bityutskiy2005-11-064-46/+40
| | | | | | | | | | JFFS2 uses f->dents to store the pointer to the symlink target string (in case the inode is symlink). This is somewhat ugly to use the same field for different reasons. Introduce distinct field f->target for this purpose. Note, f->fragtree, f->dents, f->target may probably be put in a union. Signed-off-by: Artem B. Bityutskiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Debug code clean up - step 1Artem B. Bityutskiy2005-11-0614-439/+663
| | | | | | | Move debug functions into a seperate source file Signed-off-by: Artem B. Bityutskiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Split a large routine on several smaller.Artem B. Bityutskiy2005-11-061-261/+336
| | | | | Signed-off-by: Artem B. Bityutskiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [PATCH] fix missing includesTim Schmielau2005-10-312-0/+3
| | | | | | | | | | | | | | | | | | | | | I recently picked up my older work to remove unnecessary #includes of sched.h, starting from a patch by Dave Jones to not include sched.h from module.h. This reduces the number of indirect includes of sched.h by ~300. Another ~400 pointless direct includes can be removed after this disentangling (patch to follow later). However, quite a few indirect includes need to be fixed up for this. In order to feed the patches through -mm with as little disturbance as possible, I've split out the fixes I accumulated up to now (complete for i386 and x86_64, more archs to follow later) and post them before the real patch. This way this large part of the patch is kept simple with only adding #includes, and all hunks are independent of each other. So if any hunk rejects or gets in the way of other patches, just drop it. My scripts will pick it up again in the next round. Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] jffs/jffs2: remove wrong function prototypesAdrian Bunk2005-09-081-3/+0
| | | | | | | | | | | | This patch removes prototypes for the generic_file_open and generic_file_llseek functions. Besides being superfluous because they are already present in fs.h, they were also wrong because the actual functions aren't weak functions. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Fix up symlink function pointersAl Viro2005-08-201-3/+3
| | | | | | | | | | This fixes up the symlink functions for the calling convention change: * afs, autofs4, befs, devfs, freevxfs, jffs2, jfs, ncpfs, procfs, smbfs, sysvfs, ufs, xfs - prototype change for ->follow_link() * befs, smbfs, xfs - same for ->put_link() Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] jffs2: fix symlink error handlingAl Viro2005-08-201-4/+6
| | | | | | | | | | | | | | | | | The current calling conventions for ->follow_link() are already fairly complex. What we have is 1) you can return -error; then you must release nameidata yourself and ->put_link() will _not_ be called. 2) you can do nd_set_link(nd, ERR_PTR(-error)) and return 0 3) you can do nd_set_link(nd, path) and return 0 4) you can return 0 (after having moved nameidata yourself) jffs2 follow_link() is broken - it has an exit where it returns -EIO and leaks nameidata. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [JFFS2] Fix node allocation leakThomas Gleixner2005-07-151-82/+92
| | | | | | | | | | In the rare case of failing to write the cleanmarker the allocated node was not freed. Pointed out by Forrest Zhao Initial cleanup by Joern Engel Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Avoid compiler warnings when JFFS2_FS_WRITEBUFFER=nTodd Poynor2005-07-131-1/+3
| | | | | Signed-off-by: Todd Poynor <tpoynor@mvista.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Init locks early during mountArtem B. Bityuckiy2005-07-132-9/+11
| | | | | | | | In case of a mount error locks might be uninitialized but accessed by the resulting call to jffs2_kill_sb(). Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Rename function and update commentsArtem B. Bityuckiy2005-07-121-7/+7
| | | | | | | | | We recently changed the method of collecting and sorting of tmp_dnode objects to use a temporary RB-tree instead of a temporary list. Rename function and update comments. Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Remove needless variable initializationArtem B. Bityuckiy2005-07-121-2/+1
| | | | | Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Avoid alloc/dealloc for zero sized nodesArtem B. Bityuckiy2005-07-121-6/+4
| | | | | Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Simplify the tree insert code.Artem B. Bityuckiy2005-07-061-5/+4
| | | | | | | | | | It isn't _normal_ that we allow key collision in rbtrees, but it does not matter as long as the two nodes with the same version are together. Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Remove compatibilty cruft for ancient kernelsDavid Woodhouse2005-07-064-60/+8
| | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* [JFFS2] Optimise jffs2_add_tn_to_list David Woodhouse2005-07-063-27/+88
| | | | | | | | | Use an rbtree instead of a simple linked list. We were wasting an amazing amount of time in jffs2_add_tn_to_list(). Thanks to Artem Bityuckiy and Jarkko Jlavinen for noticing. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* Merge with rsync://fileserver/linuxThomas Gleixner2005-06-261-1/+1
|\ | | | | | | Update to Linus latest
| * [PATCH] jffs2 build fixAndrew Morton2005-06-261-1/+1
| | | | | | | | | | | | | | | | Missed conversion in the swsusp cleanup. Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [JFFS2] Whitespace cleanup. Fix missing debug messageThomas Gleixner2005-05-232-6/+7
| | | | | | | | Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Fix crosscompileThomas Gleixner2005-05-231-2/+2
| | | | | | | | | | | | Include sched.h instead of asm/semaphore.h to make it compile everywhere. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Fix cleanup in case of GC-Task not startedThomas Gleixner2005-05-231-2/+5
| | | | | | | | | | | | | | Do not call wait_for_completion, when the gc task is not there. Prevent an oops when the gc thread was not started. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Convert thread start semaphore to completionThomas Gleixner2005-05-231-4/+4
| | | | | | | | Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Kill GC thread before cleanupArtem B. Bityuckiy2005-05-231-3/+3
| | | | | | | | | | | | | | First kill GC thread, then start clearing the internal structures Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Suppress annoying debug messagesArtem B. Bityuckiy2005-05-231-3/+3
| | | | | | | | | | | | | | Embrace uneeded messages in D1(). Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Fix NOR only compileArtem B. Bityuckiy2005-05-232-7/+5
| | | | | | | | | | | | | | | | | | | | Fix the bug that caouses problems when compiling for NOR. We read a newly erased block so we don't need to check ECC. Define jffs2_is_writebuffered as zero if there is no wbuf. Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Fix inode allocation raceDavid Woodhouse2005-05-233-6/+13
| | | | | | | | | | Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Fix race in garbage collectorArtem B. Bityuckiy2005-05-232-7/+37
| | | | | | | | | | | | | | | | Fix the race problem described here: http://lists.infradead.org/pipermail/linux-mtd/2005-April/012361.html Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Add KERN_DEBUG level to printksArtem B. Bityuckiy2005-05-231-3/+3
| | | | | | | | | | Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Fix race problems with wbuf.Artem B. Bityuckiy2005-05-232-10/+10
| | | | | | | | | | Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Prevent deadlock when flushing write bufferArtem B. Bityuckiy2005-05-231-1/+3
| | | | | | | | | | Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Forbid to free inode_cache objects if its nlink isn't zero.Artem B. Bityuckiy2005-05-232-4/+4
| | | | | | | | | | Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Improve garbage collector block selectionArtem B. Bityuckiy2005-05-231-1/+7
| | | | | | | | | | | | | | | | Make sure the erase_pending_wbuf_list's blocks are taken into account when picking the block to GC. Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Use function to manipulate superblock dirty flagArtem B. Bityuckiy2005-05-231-2/+2
| | | | | | | | | | | | | | | | Use the corresponding function to mark Superblock dirty instead of doing it directly. Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Add symlink caching support.Artem B. Bityuckiy2005-05-235-70/+117
| | | | | | | | | | Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Fix NOR specific scan BUG Artem B. Bityuckiy2005-05-232-8/+12
| | | | | | | | | | | | | | | | | | 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 <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Prevent ino cache removal for inodes in useDavid Woodhouse2005-05-235-16/+24
| | | | | | | | | | | | | | | | Don't remove inocache for inodes which are in read_inode() or clear_inode() until they're done. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Fix node lookupArtem B. Bityuckiy2005-05-231-3/+3
| | | | | | | | | | | | | | | | Look the ref->next_phys field instead of ->next_in_ino to determine if the block has more then one node. Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Use a single config option for write buffer supportAndrew Victor2005-05-237-44/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch replaces the current CONFIG_JFFS2_FS_NAND, CONFIG_JFFS2_FS_NOR_ECC and CONFIG_JFFS2_FS_DATAFLASH with a single configuration option - CONFIG_JFFS2_FS_WRITEBUFFER. The only functional change of this patch is that the slower div/mod calculations for SECTOR_ADDR(), PAGE_DIV() and PAGE_MOD() are now always used when CONFIG_JFFS2_FS_WRITEBUFFER is enabled. Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* | [JFFS2] Add support for JFFS2-on-Dataflash devices.Andrew Victor2005-05-236-14/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For Dataflash, can_mark_obsolete = false and the NAND write buffering code (wbuf.c) is used. Since the DataFlash chip will automatically erase pages when writing, the cleanmarkers are not needed - so cleanmarker_oob = false and cleanmarker_size = 0 DataFlash page-sizes are not a power of two (they're multiples of 528 bytes). The SECTOR_ADDR macro (added in the previous core patch) is replaced with a (slower) div/mod version if CONFIG_JFFS2_FS_DATAFLASH is selected. Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>