aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/extents.c
diff options
context:
space:
mode:
authorEric Whitney <enwlinux@gmail.com>2020-02-18 15:26:56 -0500
committerTheodore Ts'o <tytso@mit.edu>2020-03-05 20:27:59 -0500
commitf064a9d6e7dbd3473e9da0ffa1a91c08a032d747 (patch)
tree6802cf0f9d0472dbd262e551a8ce33eb31466280 /fs/ext4/extents.c
parent780f66e59231fcf882f36c63f287252ee47cc75a (diff)
downloadlinux-f064a9d6e7dbd3473e9da0ffa1a91c08a032d747.tar.gz
ext4: clean up error return for convert_initialized_extent()
Although convert_initialized_extent() can potentially return an error code with a negative value, its returned value is assigned to an unsigned variable containing a block count in ext4_ext_map_blocks() and then returned to that function's caller. The code currently works, though the way this happens is obscure. The code would be more readable if it followed the error handling convention used elsewhere in ext4_ext_map_blocks(). This patch does not address any known test failure or bug report - it's simply a cleanup. It also addresses a nearby coding standard issue. Signed-off-by: Eric Whitney <enwlinux@gmail.com> Link: https://lore.kernel.org/r/20200218202656.21561-1-enwlinux@gmail.com Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/extents.c')
-rw-r--r--fs/ext4/extents.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index a5338a8da2abfd..bc96529d1509bb 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -3871,7 +3871,7 @@ static int
convert_initialized_extent(handle_t *handle, struct inode *inode,
struct ext4_map_blocks *map,
struct ext4_ext_path **ppath,
- unsigned int allocated)
+ unsigned int *allocated)
{
struct ext4_ext_path *path = *ppath;
struct ext4_extent *ex;
@@ -3933,10 +3933,10 @@ convert_initialized_extent(handle_t *handle, struct inode *inode,
ext4_update_inode_fsync_trans(handle, inode, 1);
map->m_flags |= EXT4_MAP_UNWRITTEN;
- if (allocated > map->m_len)
- allocated = map->m_len;
- map->m_len = allocated;
- return allocated;
+ if (*allocated > map->m_len)
+ *allocated = map->m_len;
+ map->m_len = *allocated;
+ return 0;
}
static int
@@ -4240,12 +4240,12 @@ int ext4_ext_map_blocks(handle_t *handle, struct inode *inode,
*/
if ((!ext4_ext_is_unwritten(ex)) &&
(flags & EXT4_GET_BLOCKS_CONVERT_UNWRITTEN)) {
- allocated = convert_initialized_extent(
- handle, inode, map, &path,
- allocated);
+ err = convert_initialized_extent(handle,
+ inode, map, &path, &allocated);
goto out2;
- } else if (!ext4_ext_is_unwritten(ex))
+ } else if (!ext4_ext_is_unwritten(ex)) {
goto out;
+ }
ret = ext4_ext_handle_unwritten_extents(
handle, inode, map, &path, flags,