ext4: rework map struct instantiation in ext4_ext_map_blocks()
authorEric Whitney <enwlinux@gmail.com>
Sun, 10 May 2020 15:58:05 +0000 (11:58 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 4 Jun 2020 03:16:53 +0000 (23:16 -0400)
commit8ad8d710035edf8d14f8ecc5fa15f8e1a27ecb59
tree1e34597a68d9451c841b7f80fa0e3cc9093fce28
parent70aa1554b01474ab08d08e5a18b0215a7ff1e8dc
ext4: rework map struct instantiation in ext4_ext_map_blocks()

The path performing block allocations in ext4_ext_map_blocks() contains
code trimming the length of a new extent that is repeated later
in the function.  This code is both redundant and unnecessary as the
exact length of the new extent has already been calculated.  Rewrite the
instantiation of the map struct in this case to use the available
values, avoiding the overhead of unnecessary conversions and improving
clarity.  Add another map struct instantiation tailored specifically to
the separate case for an existing written extent.  Remove an old comment
that no longer appears applicable to the current code.

Signed-off-by: Eric Whitney <enwlinux@gmail.com>
Link: https://lore.kernel.org/r/20200510155805.18808-1-enwlinux@gmail.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Ritesh Harjani <riteshh@linux.ibm.com>
fs/ext4/extents.c