summaryrefslogtreecommitdiff
path: root/common/cmd_ext4.c
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 /common/cmd_ext4.c
parente76b933e02e1b38e48754c435e9dba1c0deeb3c6 (diff)
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 'common/cmd_ext4.c')
-rw-r--r--common/cmd_ext4.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/common/cmd_ext4.c b/common/cmd_ext4.c
index 68b047ba6ae..6d75dd2b89c 100644
--- a/common/cmd_ext4.c
+++ b/common/cmd_ext4.c
@@ -42,6 +42,12 @@
#include <usb.h>
#endif
+int do_ext4_size(cmd_tbl_t *cmdtp, int flag, int argc,
+ char *const argv[])
+{
+ return do_size(cmdtp, flag, argc, argv, FS_TYPE_EXT);
+}
+
int do_ext4_load(cmd_tbl_t *cmdtp, int flag, int argc,
char *const argv[])
{
@@ -113,6 +119,14 @@ U_BOOT_CMD(ext4write, 6, 1, do_ext4_write,
#endif
+U_BOOT_CMD(
+ ext4size, 4, 0, do_ext4_size,
+ "determine a file's size",
+ "<interface> <dev[:part]> <filename>\n"
+ " - Find file 'filename' from 'dev' on 'interface'\n"
+ " and determine its size."
+);
+
U_BOOT_CMD(ext4ls, 4, 1, do_ext4_ls,
"list files in a directory (default /)",
"<interface> <dev[:part]> [directory]\n"