summaryrefslogtreecommitdiff
path: root/include/linux/jffs2.h
AgeCommit message (Collapse)Author
2010-08-10Merge git://git.infradead.org/mtd-2.6Linus Torvalds
* git://git.infradead.org/mtd-2.6: (79 commits) mtd: Remove obsolete <mtd/compatmac.h> include mtd: Update copyright notices jffs2: Update copyright notices mtd-physmap: add support users can assign the probe type in board files mtd: remove redwood map driver mxc_nand: Add v3 (i.MX51) Support mxc_nand: support 8bit ecc mxc_nand: fix correct_data function mxc_nand: add V1_V2 namespace to registers mxc_nand: factor out a check_int function mxc_nand: make some internally used functions overwriteable mxc_nand: rework get_dev_status mxc_nand: remove 0xe00 offset from registers mtd: denali: Add multi connected NAND support mtd: denali: Remove set_ecc_config function mtd: denali: Remove unuseful code in get_xx_nand_para functions mtd: denali: Remove device_info_tag structure mtd: m25p80: add support for the Winbond W25Q32 SPI flash chip mtd: m25p80: add support for the Intel/Numonyx {16,32,64}0S33B SPI flash chips mtd: m25p80: add support for the EON EN25P{32, 64} SPI flash chips ... Fix up trivial conflicts in drivers/mtd/maps/{Kconfig,redwood.c} due to redwood driver removal.
2010-08-08jffs2: Update copyright noticesDavid Woodhouse
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2010-07-11fix comment typos concerning "sequential"Uwe Kleine-König
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-02-25JFFS2: avoid using C++ keyword `new' in userspace-visible headerAndrew Morton
Addresses http://bugzilla.kernel.org/show_bug.cgi?id=14995 Reported-by: R. Diez <rdiezmail-kernelbugzilla@yahoo.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-03-26make MTD headers use strict integer typesArnd Bergmann
The MTD headers traditionally use stdint types rather than the kernel integer types. This converts them to do the same as all the others. Cc: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-06-04MTD/JFFS2: remove CVS keywordsAdrian Bunk
Once upon a time, the MTD repository was using CVS. This patch therefore removes all usages of the no longer updated CVS keywords from the MTD code. This also includes code that printed them to the user. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2007-07-11[JFFS2] Add LZO compression support.Richard Purdie
Add LZO1X compression/decompression support to jffs2. LZO's interface doesn't entirely match that required by jffs2 so a buffer and memcpy is unavoidable. Signed-off-by: Richard Purdie <rpurdie@openedhand.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-09-24Move several *_SUPER_MAGIC symbols to include/linux/magic.h.Jeff Garzik
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-06-27[JFFS2][XATTR] using 'delete marker' for xdatum/xref deletionKaiGai Kohei
- 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 <kaigai@ak.jp.nec.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-20Merge git://git.infradead.org/jffs2-xattr-2.6David Woodhouse
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-19[JFFS2] Support new device nodesDavid Woodhouse
Device node major/minor numbers are just stored in the payload of a single data node. Just extend that to 4 bytes and use new_encode_dev() for it. We only use the 4-byte format if we _need_ to, if !old_valid_dev(foo). This preserves backwards compatibility with older code as much as possible. If we do make devices with major or minor numbers above 255, and then mount the file system with the old code, it'll just read the first two bytes and get the numbers wrong. If it comes to garbage-collect it, it'll then write back those wrong numbers. But that's about the best we can expect. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-19Merge git://git.infradead.org/mtd-2.6KaiGai Kohei
2006-05-16[JFFS2] Repack some on-medium structures. ARM is weirder than I thought.David Woodhouse
We have to pack at least the jint16_t structure, because otherwise it'll be four bytes in size. Thankfully, we can do that and _not_ pack the actual node structures, and the compiler still doesn't emit stupid code. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-15[JFFS2] Don't pack on-medium structures, because GCC emits crappy codeDavid Woodhouse
If we use __attribute__((packed)), GCC will _also_ assume that the structures aren't sensibly aligned, and it'll emit code to cope with that instead of straight word load/save. This can be _very_ suboptimal on architectures like ARM. Ideally, we want an attribute which just tells GCC not to do any padding, without the alignment side-effects. In the absense of that, we'll just drop the 'packed' attribute and hope that everything stays as it was (which to be fair is fairly much what we expect). And add some paranoia checks in the initialisation code, which should be optimised away completely in the normal case. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-05-13[JFFS2][XATTR] XATTR support on JFFS2 (version. 5)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: KaiGai Kohei <kaigai@ak.jp.nec.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2005-11-07[JFFS2] Clean up trailing white spacesThomas Gleixner
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-11-06[JFFS2] Rename jffs2_summary_node to jffs2_raw_summaryFerenc Havasi
Signed-off-by: Ferenc Havasi <havasi@inf.u-szeged.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-11-06[JFFS2] Add erase block summary support (mount time improvement)Ferenc Havasi
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 <havasi@inf.u-szeged.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-11-06[jffs2] Remove compressor lzo and lzariFerenc Havasi
Remove unused compressor code Signed-off-by: Ferenc Havasi <havasi@inf.u-szeged.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2005-11-06[JFFS2] Namespace clean upArtem B. Bityutskiy
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>
2004-11-16Email address update.David Woodhouse
The work address is increasingly unreliable and incompetently run. Time to remove all visible instances of it and rely only on one which isn't run by crack-monkeys. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2004-07-15JFFS2 file system updateDavid Woodhouse
- Improved support for NAND flash - More generic compression support, allowing for extra compressors - Fix potential deadlock with kupdated
2003-10-11JFFS2 update; completed support for NAND flash.David Woodhouse
- Implement write-buffer flushing by garbage collection instead of padding. - Implement selective write-buffer flushing on fsync(). - Implement error recovery on write-buffer flush. - Fix remove_suid(). Writing to a suid file didn't previously mark the file non-suid. - Fix handling of full file systems, to avoid unlink() returning -ENOSPC. - Fix assorted memory leaks. - Improve garbage collection efficiency by merging fewer pages.
2003-05-28MTD and JFFS2 update.David Woodhouse
- JFFS2 bugfixes and performance improvements - Support for 64-bit flash arrangements - Optimise for linear mappings of flash, without out-of-line access functions - New map drivers - Updated NAND flash support, new board drivers - Support for DiskOnChip Millennium Plus and INFTL translation layer - Clean up all translation layers with a single blkdev helper library. - Fix races in MTD device registration/deregistration - Add support for new flash chips - Clean up partition parsing code More detailed comments in per-file changelogs.
2002-11-12JFFS2 update.David Woodhouse
Various bugfixes -- deadlock in prepare_write() on extension of file fixed. -- corruption when reading a page where a multi-page hole ends fixed. -- oops on unlink of bad inodes fixed. -- allow bi-endian operation; mounting of non-host-endian file system is now possible. Optimisations -- switch to rbtrees for the inode fragment list. O(log n) insertion and lookup now. -- avoid checking all data crcs and building fragment trees at scan time. Do it later in GC. -- use 'point' method if available to use a pointer directly into the flash chip during scan, rather than always using memcpy into RAM first. -- start to track node 'pristine' status, for later use in GC optimisation -- we'll be able to copy those nodes intact without having to read them, decompress and recompress their payload, etc. Or indeed having to read_inode() their inode. -- fix ordering of work done from kupdated. We now erase a block, mark it free and stick it on the appropriate list, and go on to the next one. Before, we erased _all_ the pending blocks before marking any of them free, while everyone waited for us.
2002-07-23Remove licensing noise from individual JFFS2 files to refer to a single ↵David Woodhouse
'LICENCE' file, which contains the new licence info. JFFS2 is no longer dual-licensed under RHEPL and GPL; eCos is now GPL'd (with an exception for linking application) and hence so is JFFS2.
2002-03-12Update to 2002-03-12 JFFS2 development tree. Main features:David Woodhouse
- Preliminary version of NAND flash support. - Locking documentation and fixes (including BKL removal because it's superfluous). - Performance improvements - especially for mount time. - Annoying stuff like i_nlink on directories fixed. - Portability cleanups.
2002-02-26[PATCH] updates.Dave Jones
Forward ports from 2.4, Various janitor bits, and some fixes by me to make the thing work again in 2.5. I munged the MTDRAM driver to work also (seperate patch to follow), and it seems to work. David Woodhouse gave this the once over, and approved the changes. Complete changelog below: o Don't create two slabcaches with the same name. o Don't corrupt eraseblock lists on mount o Don't mark nodes obsolete during mount o __attribute__((packed)) on the node definitions. o Fix up() without down() in jffs2_readdir(). o Fix duplicate version number usage - s/highest_version++/++highest_version/ o Fix (i.e. implement) mtime/ctime on directories. maybe too busy with the bk stuff o Don't allow hardlinks of directories. o s/(mode&S_IFMT)==S_IFLNK/S_ISLNK(mode)/ et al to keep Al happy. o Fix for garbage-collection of holes, where we used to write nodes out with csize/dsize swapped. Workarounds for existing such brokenness. o Improve wear levelling by rotating node lists on mount, to avoid starting at one end of the flash every time. o Remember to get internal inode-semaphore on symlink operations.
2002-02-04v2.4.9.9 -> v2.4.9.10Linus Torvalds
- Alan Cox: continued merging - Mingming Cao: make msgrcv/shmat check the queue/segment ID's properly - Greg KH: USB serial init failure fix, Xircom serial converter driver - Neil Brown: nsfd/raid/md/lockd cleanups - Ingo Molnar: multipath RAID personality, raid xor update - Hugh Dickins/Marcelo Tosatti: swapin read-ahead race fix - Vojtech Pavlik: fix up some of the infrastructure for x86-64 - Robert Love: AMD 761 AGP GART support - Jens Axboe: fix SCSI-generic queue handling race - me: be sane about page reference bits