summaryrefslogtreecommitdiff
path: root/fs/fat
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2014-06-11 12:47:26 -0600
committerTom Rini <trini@ti.com>2014-08-09 11:16:57 -0400
commitcf6598193aed5de8855eaf70c1994f2bc437255a (patch)
tree4effb602945b18ad9c639cfd7b5e9f17eb02ffa4 /fs/fat
parente76b933e02e1b38e48754c435e9dba1c0deeb3c6 (diff)
downloadu-boot-imx-cf6598193aed5de8855eaf70c1994f2bc437255a.zip
u-boot-imx-cf6598193aed5de8855eaf70c1994f2bc437255a.tar.gz
u-boot-imx-cf6598193aed5de8855eaf70c1994f2bc437255a.tar.bz2
fs: implement size/fatsize/ext4size
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>
Diffstat (limited to 'fs/fat')
-rw-r--r--fs/fat/fat.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/fat/fat.c b/fs/fat/fat.c
index 54f42ea..561921f 100644
--- a/fs/fat/fat.c
+++ b/fs/fat/fat.c
@@ -1243,6 +1243,11 @@ int fat_exists(const char *filename)
return sz >= 0;
}
+int fat_size(const char *filename)
+{
+ return do_fat_read_at(filename, 0, NULL, 0, LS_NO, 1);
+}
+
long file_fat_read_at(const char *filename, unsigned long pos, void *buffer,
unsigned long maxsize)
{