1. 23 Sep, 2016 4 commits
  2. 23 Nov, 2014 1 commit
  3. 26 Feb, 2014 1 commit
  4. 21 Feb, 2014 1 commit
    • ext4fs: Add ext4 extent cache for read operations · fc0fc50f
      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: 's avatarIonut Nicu <ioan.nicu.ext@nsn.com>
  5. 24 Jul, 2013 1 commit
  6. 10 May, 2013 1 commit
  7. 01 Apr, 2013 1 commit
    • Consolidate bool type · 472d5460
      York Sun authored
      'bool' is defined in random places. This patch consolidates them into a
      single header file include/linux/types.h, using stdbool.h introduced in C99.
      
      All other #define, typedef and enum are removed. They are all consistent with
      true = 1, false = 0.
      
      Replace FALSE, False with false. Replace TRUE, True with true.
      Skip *.py, *.php, lib/* files.
      Signed-off-by: 's avatarYork Sun <yorksun@freescale.com>
  8. 29 Oct, 2012 1 commit
    • fs: separate CONFIG_FS_{FAT, EXT4} from CONFIG_CMD_{FAT, EXT*} · 03e2ecf6
      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: 's avatarStephen Warren <swarren@nvidia.com>
      Reviewed-by: 's avatarBenoît Thébaudeau <benoit.thebaudeau@advansee.com>
  9. 25 Sep, 2012 1 commit
  10. 20 Sep, 2012 1 commit
    • ext4: cache-align buffers so the invalidation works · 55b523b7
      Stephen Warren authored
      DMA buffer cache invalidation requires that buffers have cache-aligned
      buffer locations and sizes. Use memalign() and ALLOC_CACHE_ALIGN_BUFFER()
      to ensure this.
      
      On Tegra at least, without this fix, the following fail commands fail in
      u-boot-master/ext4, but succeeded at the branch's branch point in
      u-boot/master. With this fix, the commands work again:
      
      ext2ls mmc 0:1 /
      ext2load mmc 0:1 /boot/zImage
      
      Cc: Uma Shankar <uma.shankar@samsung.com>
      Cc: Manjunatha C Achar <a.manjunatha@samsung.com>
      Cc: Iqbal Shareef <iqbal.ams@samsung.com>
      Cc: Hakgoo Lee <goodguy.lee@samsung.com>
      Cc: Wolfgang Denk <wd@denx.de>
      Cc: Tom Rini <trini@ti.com>
      Signed-off-by: 's avatarStephen Warren <swarren@nvidia.com>
  11. 09 Aug, 2012 2 commits