- Oct 06, 2017
-
-
Tom Rini authored
As reported by Coverity, we did not free dirnode in the case of failure. Do so now. Reported-by: Coverity (CID: 131221) Cc: Stefan Brüns <stefan.bruens@rwth-aachen.de> Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Apr 27, 2017
-
-
Lokesh Vutla authored
In file ext4fs.c funtion ext4fs_read_file() compares an unsigned expression with < 0 like below lbaint_t blknr; blknr = read_allocated_block(&(node->inode), i); if (blknr < 0) return -1; blknr is of type ulong/uint64_t. read_allocated_block() returns long int. So comparing blknr with < 0 will always be false. Instead declare blknr as long int. Similarly ext4/dev.c does a similar comparison. Drop the redundant comparison. Signed-off-by:
Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
- Nov 21, 2016
-
-
Stefan Brüns authored
Support was already implemented, but not hooked up. This fixes several fails in the test cases. Signed-off-by:
Stefan Brüns <stefan.bruens@rwth-aachen.de> Acked-by:
Stephen Warren <swarren@wwwdotorg.org>
-
- Sep 23, 2016
-
-
Michael Walle authored
Instead of __{be,le}{16,32}_to_cpu use {be,le}{16,32}_to_cpu. Signed-off-by:
Michael Walle <michael@walle.cc>
-
- Mar 14, 2016
-
-
Simon Glass authored
Use 'struct' instead of a typdef. Also since 'struct block_dev_desc' is long and causes 80-column violations, rename it to struct blk_desc. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com> Tested-by:
Stephen Warren <swarren@nvidia.com>
-
- Dec 01, 2014
-
-
Tom Rini authored
The changes to introduce loff_t into filesize means that we need to do 64bit math on 32bit platforms. Make sure we use the right wrappers for these operations. Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Suriyan Ramasami <suriyan.r@gmail.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Tom Rini <trini@ti.com> Tested-by:
Pierre Aubert <p.aubert@staubli.com>
-
- Nov 23, 2014
-
-
Suriyan Ramasami authored
The sandbox/ext4/fat/generic fs commands do not gracefully deal with files greater than 2GB. Negative values are returned in such cases. To handle this, the fs functions have been modified to take an additional parameter of type "* loff_t" which is then populated. The return value of the fs functions are used only for error conditions. Signed-off-by:
Suriyan Ramasami <suriyan.r@gmail.com> Acked-by:
Simon Glass <sjg@chromium.org> [trini: Update board/gdsys/p1022/controlcenterd-id.c, drivers/fpga/zynqpl.c for changes] Signed-off-by:
Tom Rini <trini@ti.com>
-
Suriyan Ramasami authored
Change the internal EXT4 functions to use loff_t for offsets. Signed-off-by:
Suriyan Ramasami <suriyan.r@gmail.com> Acked-by:
Simon Glass <sjg@chromium.org> [trini: Update common/spl/spl_ext.c] Signed-off-by:
Tom Rini <trini@ti.com>
-
Christian Gmeienr authored
Some filesystems have a UUID stored in its superblock. To allow using root=UUID=... for the kernel command line we need a way to read-out the filesystem UUID. changes rfc -> v1: - make the environment variable an option parameter. If not given, the UUID is printed out. If given, it is stored in the env variable. - corrected typos - return error codes changes v1 -> v2: - fix return code of do_fs_uuid(..) - document do_fs_uuid(..) - implement fs_uuid_unsuported(..) be more consistent with the way other optional functionality works changes v2 -> v3: - change ext4fs_uuid(..) to make use of #if .. #else .. #endif construct to get rid of unreachable code Hit any key to stop autoboot: 0 => fsuuid fsuuid - Look up a filesystem UUID Usage: fsuuid <interface> <dev>:<part> - print filesystem UUID fsuuid <interface> <dev>:<part> <varname> - set environment variable to filesystem UUID => fsuuid mmc 0:1 d9f9fc05-45ae-4a36-a616-fccce0e4f887 => fsuuid mmc 0:2 eb3db83c-7b28-499f-95ce-9e0bb21cda81 => fsuuid mmc 0:1 uuid1 => fsuuid mmc 0:2 uuid2 => printenv uuid1 uuid1=d9f9fc05-45ae-4a36-a616-fccce0e4f887 => printenv uuid2 uuid2=eb3db83c-7b28-499f-95ce-9e0bb21cda81 => Signed-off-by:
Christian Gmeiner <christian.gmeiner@gmail.com> Acked-by:
Stephen Warren <swarren@nvidia.com>
-
- Aug 09, 2014
-
-
Stephen Warren authored
These commands may be used to determine the size of a file without actually reading the whole file content into memory. This may be used to determine if the file will fit into the memory buffer that will contain it. In particular, the DFU code will use it for this purpose in the next commit. Signed-off-by:
Stephen Warren <swarren@nvidia.com>
-
- Feb 26, 2014
-
-
Tom Rini authored
This reverts commit fc0fc50f. The author has asked on the mailing list that we revert this for now as it breaks write support. Reported-by:
Łukasz Majewski <l.majewski@samsung.com> Signed-off-by:
Tom Rini <trini@ti.com>
-
- Feb 21, 2014
-
-
Ionut Nicu authored
In an ext4 filesystem, the inode corresponding to a file has a 60-byte area which contains an extent header structure and up to 4 extent structures (5 x 12 bytes). For files that need more than 4 extents to be represented (either files larger than 4 x 128MB = 512MB or smaller files but very fragmented), ext4 creates extent index structures. Each extent index points to a 4KB physical block where one extent header and additional 340 extents could be stored. The current u-boot ext4 code is very inefficient when it tries to load a file which has extent indexes. For each logical file block the code will read over and over again the same blocks of 4096 bytes from the disk. Since the extent tree in a file is always the same, we can cache the extent structures in memory before actually starting to read the file. This patch creates a simple linked list of structures holding information about all the extents used to represent a file. The list is sorted by the logical block number (ee_block) so that we can easily find the proper extent information for any file block. Without this patch, a 69MB file which had just one extent index pointing to a block with another 6 extents was read in approximately 3 minutes. With this patch applied the same file can be read in almost 20 seconds. Signed-off-by:
Ionut Nicu <ioan.nicu.ext@nsn.com>
-
- Feb 19, 2014
-
-
Stephen Warren authored
This hooks into the generic "file exists" support added in an earlier patch, and provides an implementation for the ext4 filesystem. Signed-off-by:
Stephen Warren <swarren@nvidia.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
- Jul 24, 2013
-
-
Wolfgang Denk authored
Signed-off-by:
Wolfgang Denk <wd@denx.de> [trini: Fixup common/cmd_io.c] Signed-off-by:
Tom Rini <trini@ti.com>
-
- Jul 15, 2013
-
-
Frederic Leroy authored
With CONFIG_SYS_64BIT_LBA, lbaint_t gets defined as a 64-bit type, which is required to represent block numbers for storage devices that exceed 2TiB (the block size usually is 512B), e.g. recent hard drives We now use lbaint_t for partition offset to reflect the lbaint_t change, and access partitions beyond or crossing the 2.1TiB limit. This required changes to signature of ext4fs_devread(), and type of all variables relatives to block sector. ext2/ext4 fs uses logical block represented by a 32 bit value. Logical block is a multiple of device block sector. To avoid overflow problem when calling ext4fs_devread(), we need to cast the sector parameter. Signed-off-by:
Frédéric Leroy <fredo@starox.org>
-
- May 10, 2013
-
-
Egbert Eich authored
The 512 byte block size was hard coded in the ext4 file systems. Large harddisks today support bigger block sizes typically 4096 bytes. This patch removes this limitation. Signed-off-by:
Egbert Eich <eich@suse.com>
-
- Mar 04, 2013
-
-
Simon Glass authored
It doesn't make a lot of sense to have these methods in fs.c. They are filesystem-specific, not generic code. Add each to the relevant filesystem and remove the associated #ifdefs in fs.c. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Tom Rini <trini@ti.com>
-
Simon Glass authored
This code seems to be entirely othogonal, so remove the #ifdef and put the condition in the Makefile instead. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- Dec 07, 2012
-
-
Łukasz Majewski authored
The filename buffer is allocated dynamically. It must be cache aligned. Moreover, it is necessary to erase its content before we use it for file name operations. This prevents from corruption of written file names. Signed-off-by:
Lukasz Majewski <l.majewski@samsung.com> Signed-off-by:
Kyungmin Park <kyungmin.park@samsung.com>
-
Łukasz Majewski authored
Several fixes to suppress compiler's (eldk-5.[12].x gcc 4.6) warning [-Wunused-but-set-variable] Signed-off-by:
Lukasz Majewski <l.majewski@samsung.com> Signed-off-by:
Kyungmin Park <kyungmin.park@samsung.com>
-
Łukasz Majewski authored
The ext4write code has been using direct calls to 64-32 division (/ and %). Officially supported u-boot toolchains (eldk-5.[12].x) generate calls to __aeabi_uldivmod(), which is niether defined in the toolchain libs nor u-boot source tree. Due to that, when the ext4write command has been executed, "undefined instruction" execption was generated (since the __aeabi_uldivmod() is not provided). To fix this error, lldiv() for division and do_div() for modulo have been used. Those two functions are recommended for performing 64-32 bit number division in u-boot. Signed-off-by:
Lukasz Majewski <l.majewski@samsung.com> Signed-off-by:
Kyungmin Park <kyungmin.park@samsung.com>
-
- Oct 29, 2012
-
-
Stephen Warren authored
This makes the FAT and ext4 filesystem implementations build if CONFIG_FS_{FAT,EXT4} are defined, rather than basing the build on whether CONFIG_CMD_{FAT,EXT*} are defined. This will allow the filesystems to be built separately from the filesystem-specific commands that use them. This paves the way for the creation of filesystem-generic commands that used the filesystems, without requiring the filesystem- specific commands. Minor documentation changes are made for this change. The new config options are automatically selected by the old config options to retain backwards-compatibility. Signed-off-by:
Stephen Warren <swarren@nvidia.com> Reviewed-by:
Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
-
- Oct 04, 2012
-
-
Simon Glass authored
On x86 machines gd is unfortunately a #define, so we should avoid using gd for anything. This patch changes uses of gd to bgd so that ext4fs can be used on x86. A better fix would be to remove the #define in x86, but I'm not sure how to do that. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- Sep 25, 2012
-
-
Rob Herring authored
Convert ext2/4 load, ls, and write functions to use common device and partition parsing function. With the common function "dev:part" can come from the environment and a '-' can be used in that case. Signed-off-by:
Rob Herring <rob.herring@calxeda.com>
-
Rob Herring authored
There's no real need to expose this and it can be removed by using a static allocation. Signed-off-by:
Rob Herring <rob.herring@calxeda.com>
-
- Aug 09, 2012
-
-
Uma Shankar authored
Signed-off-by:
Uma Shankar <uma.shankar@samsung.com> Signed-off-by:
Manjunatha C Achar <a.manjunatha@samsung.com> Signed-off-by:
Iqbal Shareef <iqbal.ams@samsung.com> Signed-off-by:
Hakgoo Lee <goodguy.lee@samsung.com>
-
Uma Shankar authored
Signed-off-by:
Uma Shankar <uma.shankar@samsung.com> Signed-off-by:
Manjunatha C Achar <a.manjunatha@samsung.com> Signed-off-by:
Iqbal Shareef <iqbal.ams@samsung.com> Signed-off-by:
Hakgoo Lee <goodguy.lee@samsung.com>
-