summaryrefslogtreecommitdiff
path: root/fs/ext2
Commit message (Collapse)AuthorAgeLines
* ext2fs: fix warning: 'blocknxt' may be used uninitializedKim Phillips2012-07-08-1/+1
| | | | | | | | | | | | | | | | | This warning was introduced in 436da3c "ext2load: increase read speed": ext2fs.c: In function 'ext2fs_read_file': ext2fs.c:458:19: warning: 'blocknxt' may be used uninitialized in this function [-Wuninitialized] this change makes it go away. Cc: Eric Nelson <eric.nelson@boundarydevices.com> Cc: Thierry Reding <thierry.reding@avionic-design.de> Cc: Jason Cooper <u-boot@lakedaemon.net> Cc: Andreas Bießmann <andreas.devel@googlemail.com> Cc: Reinhard Arlt <reinhard.arlt@esd-electronics.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
* ext2load: increase read speedu-boot@lakedaemon.net2012-06-21-2/+24
| | | | | | | | | | | | | | | | This patch dramatically drops the amount of time u-boot needs to read a file from an ext2 partition. On a typical 2 to 5 MB file (kernels and initrds) it goes from tens of seconds to a couple seconds. All we are doing here is grouping contiguous blocks into one read. Boot tested on Globalscale Technologies Dreamplug (Kirkwood ARM SoC) with three different files. sha1sums were calculated in Linux userspace, and then confirmed after ext2load. Signed-off-by: Jason Cooper <u-boot@lakedaemon.net> Tested-by: Eric Nelson <eric.nelson@boundarydevices.com> Tested-by: Thierry Reding <thierry.reding@avionic-design.de>
* ext2: Cache line align indirection buffersSimon Glass2012-01-05-6/+12
| | | | | | | | Make ext2 use cache line aligned buffers for reading from the filesystem. This is needed when caches are enabled because unaligned cache invalidates are not safe. Signed-off-by: Simon Glass <sjg@chromium.org>
* ext2: Cache line aligned partial sector bounce bufferAnton staaf2011-10-25-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Currently, if a device read request is done that does not begin or end on a sector boundary a stack allocated bounce buffer is used to perform the read, and then just the part of the sector that is needed is copied into the users buffer. This stack allocation can mean that the bounce buffer will not be aligned to the dcache line size. This is a problem when caches are enabled because unaligned cache invalidates are not safe. This patch uses ALLOC_CACHE_ALIGN_BUFFER to create a stack allocated cache line size aligned bounce buffer. Signed-off-by: Anton Staaf <robotboy@chromium.org> Cc: Lukasz Majewski <l.majewski@samsung.com> Cc: Mike Frysinger <vapier@gentoo.org> Cc: Dave Liu <r63238@freescale.com> Cc: Andy Fleming <afleming@gmail.com> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net> Change-Id: I32e1594d90ef039137bb219b0f7ced55768744ff Acked-by: Mike Frysinger <vapier@gentoo.org>
* ext2: Simplify partial sector access logicAnton Staaf2011-07-28-27/+15
| | | | | | | | | | | | | Previously reading or writing zero full sectors (reading the end of one sector and the beginning of the next for example) was special cased and involved stack allocating a second sector buffer. This change uses the same code path for this case as well as when there are a non-zero number of full sectors to access. The result is easier to read and reduces the maximum stack used. Signed-off-by: Anton Staaf <robotboy@chromium.org> Cc: Andy Fleming <afleming@freescale.com> Acked-by: Detlev Zundel <dzu@denx.de>
* ext2: Fix checkpatch violationsAnton Staaf2011-07-28-39/+43
| | | | | | | | | | Fix all checkpatch violations in the low level Ext2 block device reading code. This is done in preparation for cleaning up the partial sector access code. Signed-off-by: Anton Staaf <robotboy@chromium.org> Cc: Andy Fleming <afleming@freescale.com> Acked-by: Detlev Zundel <dzu@denx.de>
* ext2: constify file/dir namesMike Frysinger2010-11-28-2/+2
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Switch from archive libraries to partial linkingSebastien Carlier2010-11-17-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, weak symbols were not overridden by non-weak symbols found in archive libraries when linking with recent versions of binutils. As stated in the System V ABI, "the link editor does not extract archive members to resolve undefined weak symbols". This commit changes all Makefiles to use partial linking (ld -r) instead of creating library archives, which forces all symbols to participate in linking, allowing non-weak symbols to override weak symbols as intended. This approach is also used by Linux, from which the gmake function cmd_link_o_target (defined in config.mk and used in all Makefiles) is inspired. The name of each former library archive is preserved except for extensions which change from ".a" to ".o". This commit updates references accordingly where needed, in particular in some linker scripts. This commit reveals board configurations that exclude some features but include source files that depend these disabled features in the build, resulting in undefined symbols. Known such cases include: - disabling CMD_NET but not CMD_NFS; - enabling CONFIG_OF_LIBFDT but not CONFIG_QE. Signed-off-by: Sebastien Carlier <sebastien.carlier@gmail.com>
* ext2fs: Fix optimization bug for doubly-indirect block pointersAaron Pace2010-08-07-1/+1
| | | | | | | | | | Doubly-indirect block numbers are compared against the first-level indirect block when checking for a cached copy. This is causing the doubly-indirect block to be re-read each time it is accessed. Repairing this reduces load time for a 70M file from 72 seconds to 38 seconds. Signed-off-by: Aaron Pace <Aaron.Pace@alcatel-lucent.com>
* EXT2FS: fix inode size for ext2fs rev#0Michael Brandt2009-12-05-7/+13
| | | | | | | | | | | | | | extfs.c assumes that there is always a valid inode_size field in the superblock. But this is not true for ext2fs rev 0. Such ext2fs images are for instance generated by genext2fs. Symptoms on ARM machines are messages like: "raise: Signal # 8 caught"; on PowerPC "ext2ls" will print nothing. This fix checks for rev 0 and uses then 128 bytes as inode size. Signed-off-by: Michael Brandt <Michael.Brandt@emsyso.de> Tested on: TQM5200S Tested-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Wolfgang Denk <wd@denx.de>
* ext2: fix inode size and calculationsWeirich, Bernhard2009-07-28-21/+32
| | | | | | | Signed-off-by: unsik Kim <donari75@gmail.com> Signed-off-by: Bernhard Weirich <bernhard.weirich@riedel.net> Signed-off-by: Wolfgang Denk <wd@denx.de> Tested-by: Wolfgang Denk <wd@denx.de>
* fs: Move conditional compilation to MakefileJean-Christophe PLAGNIOL-VILLARD2008-08-31-10/+3
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* fs: Fix ext2 read issueDave Liu2008-03-02-0/+16
| | | | | | | The ext2 aligned process will corrupt the key data struct, the patch fix this. Signed-off-by: Dave Liu <daveliu@freescale.com>
* Fix memset bug in ext2fs_read_file()Wolfgang Denk2008-01-09-1/+1
| | | | | | | | ext2fs_read_file() had the function arguments swapped. Pointed out by Mike Montour, 19 Dec 2007 22:34:25 -0800 Signed-off-by: Wolfgang Denk <wd@denx.de>
* fs/: Remove lingering references to CFG_CMD_* symbols.Jon Loeliger2007-07-10-2/+2
| | | | | | | | Fixed some broken instances of "#ifdef CMD_CFG_IDE" too. Those always evaluated TRUE, and thus were always compiled even when IDE really wasn't defined/wanted. Signed-off-by: Jon Loeliger <jdl@freescale.com>
* fs/: Remove obsolete references to CONFIG_COMMANDSJon Loeliger2007-07-09-2/+2
| | | | Signed-off-by: Jon Loeliger <jdl@freescale.com>
* fs/: Augment CONFIG_COMMANDS tests with defined(CONFIG_CMD_*).Jon Loeliger2007-07-04-2/+2
| | | | | | | | | | | | | | This is a compatibility step that allows both the older form and the new form to co-exist for a while until the older can be removed entirely. All transformations are of the form: Before: #if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT) After: #if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT) || defined(CONFIG_CMD_AUTOSCRIPT) Signed-off-by: Jon Loeliger <jdl@freescale.com>
* Move "ar" flags to config.mk to allow for silent "make -s"Wolfgang Denk2006-10-09-1/+1
| | | | Based on patch by Mike Frysinger, 20 Jun 2006
* Add support for a saving build objects in a separate directory.Marian Balakowicz2006-09-01-7/+11
| | | | | | | | | | | | | | | | | | | | | Modifications are based on the linux kernel approach and support two use cases: 1) Add O= to the make command line 'make O=/tmp/build all' 2) Set environement variable BUILD_DIR to point to the desired location 'export BUILD_DIR=/tmp/build' 'make' The second approach can also be used with a MAKEALL script 'export BUILD_DIR=/tmp/build' './MAKEALL' Command line 'O=' setting overrides BUILD_DIR environent variable. When none of the above methods is used the local build is performed and the object files are placed in the source directory.
* Add VGA support (CT69000) to CPCI750 board.Stefan Roese2006-01-18-1/+1
| | | | | | Insert missing __le32_to_cpu() for filesize in ext2fs_read_file(). Patch by Reinhard Arlt, 30 Dec 2005
* * Fix get_partition_info() parameter error in all other callswdenk2005-03-04-4/+1
| | | | | | | | | | (common/cmd_ide.c, common/cmd_reiser.c, common/cmd_scsi.c). * Enable USB and IDE support for INKA4x0 board * Patch by Andrew Dyer, 28 February 2005: fix ext2load passing an incorrect pointer to get_partition_info() resulting in load failure for devices other than 0
* * Patch by Cajus Hahn, 04 Feb 2005:wdenk2005-02-04-4/+4
| | | | | | | | - don't insist on leading '/' for filename in ext2load - set default partition to useful value (1) in ext2load * Patch by Andrew Dyer, 08 Jan 2005: fix wrong return codes in ext2 code
* Cleanup: avoid trigraph warning in fs/ext2/ext2fs.c; rename UC100 -> uc100wdenk2004-12-19-1/+1
|
* Code cleanup.wdenk2004-12-16-607/+468
|
* ext2fs support addedstroese2004-12-16-0/+1194