fs: ext4: constify the buffer passed to write functions
authorJean-Jacques Hiblot <jjhiblot@ti.com>
Wed, 13 Feb 2019 11:15:24 +0000 (12:15 +0100)
committerTom Rini <trini@konsulko.com>
Tue, 9 Apr 2019 19:34:15 +0000 (15:34 -0400)
There is no need to modify the buffer passed to ext4fs_write_file().
The memset() call is not required here and was likely copied from the
equivalent part of the ext4fs_read_file() function where we do need it.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
fs/ext4/ext4_common.c
fs/ext4/ext4_common.h
fs/ext4/ext4_write.c
include/ext4fs.h

index 29308e3b44741b8ee484158223df5976d428980d..e9123785f116bc70a1091583c11d0a775db7341c 100644 (file)
@@ -190,7 +190,7 @@ uint32_t ext4fs_div_roundup(uint32_t size, uint32_t n)
        return res;
 }
 
-void put_ext4(uint64_t off, void *buf, uint32_t size)
+void put_ext4(uint64_t off, const void *buf, uint32_t size)
 {
        uint64_t startblock;
        uint64_t remainder;
index 1ee81ab7ce8d51095bad796f6ee2d2fd740a927d..4dff1914d9eca9119714939669a6b53f54be66b4 100644 (file)
@@ -72,7 +72,7 @@ int ext4fs_iget(int inode_no, struct ext2_inode *inode);
 void ext4fs_allocate_blocks(struct ext2_inode *file_inode,
                                unsigned int total_remaining_blocks,
                                unsigned int *total_no_of_block);
-void put_ext4(uint64_t off, void *buf, uint32_t size);
+void put_ext4(uint64_t off, const void *buf, uint32_t size);
 struct ext2_block_group *ext4fs_get_group_descriptor
        (const struct ext_filesystem *fs, uint32_t bg_idx);
 uint64_t ext4fs_bg_get_block_id(const struct ext2_block_group *bg,
index 95ffa3dfad514523a2b26f5ebb89c2cd5a394c60..b5b7ee813369a546d6ec0f04be044fd115696c0c 100644 (file)
@@ -752,7 +752,7 @@ void ext4fs_deinit(void)
  * contigous sectors as ext4fs_read_file
  */
 static int ext4fs_write_file(struct ext2_inode *file_inode,
-                            int pos, unsigned int len, char *buf)
+                            int pos, unsigned int len, const char *buf)
 {
        int i;
        int blockcnt;
@@ -764,7 +764,7 @@ static int ext4fs_write_file(struct ext2_inode *file_inode,
        int delayed_start = 0;
        int delayed_extent = 0;
        int delayed_next = 0;
-       char *delayed_buf = NULL;
+       const char *delayed_buf = NULL;
 
        /* Adjust len so it we can't read past the end of the file. */
        if (len > filesize)
@@ -816,7 +816,6 @@ static int ext4fs_write_file(struct ext2_inode *file_inode,
                                         (uint32_t) delayed_extent);
                                previous_block_number = -1;
                        }
-                       memset(buf, 0, fs->blksz - skipfirst);
                }
                buf += fs->blksz - skipfirst;
        }
@@ -830,8 +829,8 @@ static int ext4fs_write_file(struct ext2_inode *file_inode,
        return len;
 }
 
-int ext4fs_write(const char *fname, unsigned char *buffer,
-                                       unsigned long sizebytes)
+int ext4fs_write(const char *fname, const char *buffer,
+                unsigned long sizebytes)
 {
        int ret = 0;
        struct ext2_inode *file_inode = NULL;
@@ -949,7 +948,7 @@ int ext4fs_write(const char *fname, unsigned char *buffer,
        if (ext4fs_put_metadata(temp_ptr, itable_blkno))
                goto fail;
        /* copy the file content into data blocks */
-       if (ext4fs_write_file(file_inode, 0, sizebytes, (char *)buffer) == -1) {
+       if (ext4fs_write_file(file_inode, 0, sizebytes, buffer) == -1) {
                printf("Error in copying content\n");
                /* FIXME: Deallocate data blocks */
                goto fail;
index 4b5de6e7b6361c887b46de762113e88d51ae6685..7d48b2bc4653828cafb2f3409f2383bd91e8e5db 100644 (file)
@@ -134,7 +134,7 @@ extern int gindex;
 int ext4fs_init(void);
 void ext4fs_deinit(void);
 int ext4fs_filename_unlink(char *filename);
-int ext4fs_write(const char *fname, unsigned char *buffer,
+int ext4fs_write(const char *fname, const char *buffer,
                 unsigned long sizebytes);
 int ext4_write_file(const char *filename, void *buf, loff_t offset, loff_t len,
                    loff_t *actwrite);