From 9f12cd0e062614e19734b2ab37842d387457c5e5 Mon Sep 17 00:00:00 2001 From: Suriyan Ramasami Date: Mon, 17 Nov 2014 14:39:36 -0800 Subject: ext4: Prepare API change for files greater than 2GB Change the internal EXT4 functions to use loff_t for offsets. Signed-off-by: Suriyan Ramasami Acked-by: Simon Glass [trini: Update common/spl/spl_ext.c] Signed-off-by: Tom Rini --- fs/ext4/ext4_write.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'fs/ext4/ext4_write.c') diff --git a/fs/ext4/ext4_write.c b/fs/ext4/ext4_write.c index 648a59672c..f7c52cc4cc 100644 --- a/fs/ext4/ext4_write.c +++ b/fs/ext4/ext4_write.c @@ -975,3 +975,35 @@ fail: return -1; } + +int ext4_write_file(const char *filename, void *buf, loff_t offset, + loff_t len, loff_t *actwrite) +{ + int ret; + + if (offset != 0) { + printf("** Cannot support non-zero offset **\n"); + return -1; + } + + /* mount the filesystem */ + if (!ext4fs_mount(0)) { + printf("** Error Bad ext4 partition **\n"); + goto fail; + } + + ret = ext4fs_write(filename, buf, len); + + if (ret) { + printf("** Error ext4fs_write() **\n"); + goto fail; + } + ext4fs_close(); + + return 0; + +fail: + ext4fs_close(); + + return -1; +} -- cgit v1.2.3