| Age | Commit message (Collapse) | Author |
|
* 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.
|
|
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
|
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
- 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>
|
|
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
|
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>
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Signed-off-by: Ferenc Havasi <havasi@inf.u-szeged.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
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>
|
|
Remove unused compressor code
Signed-off-by: Ferenc Havasi <havasi@inf.u-szeged.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
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>
|
|
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>
|
|
- Improved support for NAND flash
- More generic compression support, allowing for extra compressors
- Fix potential deadlock with kupdated
|
|
- 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.
|
|
- 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.
|
|
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.
|
|
'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.
|
|
- 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.
|
|
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.
|
|
- 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
|