[SRU][Mako][Wily][Vivid] Replace EXT{2, 3} with EXT4_USE_FOR_EXT23

Chris J Arges chris.j.arges at canonical.com
Fri Nov 6 20:10:17 UTC 2015


If you switch to this CONFIG make sure the following is backported into
these branches as it fixes
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1292234.

> commit 6f30b7e37a8239f9d27db626a1d3427bc7951908
> Author: Omar Sandoval <osandov at osandov.com>
> Date:   Sat Feb 14 20:08:51 2015 -0500
> 
>     ext4: fix indirect punch hole corruption
>     
>     Commit 4f579ae7de56 (ext4: fix punch hole on files with indirect
>     mapping) rewrote FALLOC_FL_PUNCH_HOLE for ext4 files with indirect
>     mapping. However, there are bugs in several corner cases. This fixes 5
>     distinct bugs:
>     
>     1. When there is at least one entire level of indirection between the
>     start and end of the punch range and the end of the punch range is the
>     first block of its level, we can't return early; we have to free the
>     intervening levels.
>     
>     2. When the end is at a higher level of indirection than the start and
>     ext4_find_shared returns a top branch for the end, we still need to free
>     the rest of the shared branch it returns; we can't decrement partial2.
>     
>     3. When a punch happens within one level of indirection, we need to
>     converge on an indirect block that contains the start and end. However,
>     because the branches returned from ext4_find_shared do not necessarily
>     start at the same level (e.g., the partial2 chain will be shallower if
>     the last block occurs at the beginning of an indirect group), the walk
>     of the two chains can end up "missing" each other and freeing a bunch of
>     extra blocks in the process. This mismatch can be handled by first
>     making sure that the chains are at the same level, then walking them
>     together until they converge.
>     
>     4. When the punch happens within one level of indirection and
>     ext4_find_shared returns a top branch for the start, we must free it,
>     but only if the end does not occur within that branch.
>     
>     5. When the punch happens within one level of indirection and
>     ext4_find_shared returns a top branch for the end, then we shouldn't
>     free the block referenced by the end of the returned chain (this mirrors
>     the different levels case).
>     
>     Signed-off-by: Omar Sandoval <osandov at osandov.com>


On 11/05/2015 07:37 AM, Kyle Fazzari wrote:
> From 8d7272b0cdbc429323a9061e082f245864cfb5c8 Mon Sep 17 00:00:00 2001
> From: Kyle Fazzari <kyle at canonical.com>
> Date: Wed, 4 Nov 2015 19:44:04 +0000
> Subject: UBUNTU: SAUCE: Replace EXT{2,3} with EXT4_USE_FOR_EXT23.
> 
> BugLink: https://bugs.launchpad.net/bugs/1513463
> 
> The kernel has grown too large to fit on the Mako boot
> partition. This config change makes it smaller without
> losing any functionality due to making use of EXT4's
> backward-compatibility.
> 
> Signed-off-by: Kyle Fazzari <kyle at canonical.com>
> ---
>  debian.mako/config/config.common.ubuntu | 17 +++++++++--------
>  1 file changed, 9 insertions(+), 8 deletions(-)
> 
> diff --git a/debian.mako/config/config.common.ubuntu b/debian.mako/config/config.common.ubuntu
> index 0fced42..d6cf0c5 100644
> --- a/debian.mako/config/config.common.ubuntu
> +++ b/debian.mako/config/config.common.ubuntu
> @@ -635,21 +635,22 @@ CONFIG_EVM=y
>  CONFIG_EXPERIMENTAL=y
>  CONFIG_EXPERT=y
>  CONFIG_EXPORTFS=y
> -CONFIG_EXT2_FS=y
> -CONFIG_EXT2_FS_POSIX_ACL=y
> -CONFIG_EXT2_FS_SECURITY=y
> -CONFIG_EXT2_FS_XATTR=y
> +# CONFIG_EXT2_FS is not set
> +# CONFIG_EXT2_FS_POSIX_ACL is not set
> +# CONFIG_EXT2_FS_SECURITY is not set
> +# CONFIG_EXT2_FS_XATTR is not set
>  # CONFIG_EXT2_FS_XIP is not set
>  # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
> -CONFIG_EXT3_FS=y
> -CONFIG_EXT3_FS_POSIX_ACL=y
> -CONFIG_EXT3_FS_SECURITY=y
> -CONFIG_EXT3_FS_XATTR=y
> +# CONFIG_EXT3_FS is not set
> +# CONFIG_EXT3_FS_POSIX_ACL is not set
> +# CONFIG_EXT3_FS_SECURITY is not set
> +# CONFIG_EXT3_FS_XATTR is not set
>  # CONFIG_EXT4_DEBUG is not set
>  CONFIG_EXT4_FS=y
>  CONFIG_EXT4_FS_POSIX_ACL=y
>  CONFIG_EXT4_FS_SECURITY=y
>  CONFIG_EXT4_FS_XATTR=y
> +CONFIG_EXT4_USE_FOR_EXT23=y
>  CONFIG_EXTRA_FIRMWARE=""
>  # CONFIG_EXYNOS_VIDEO is not set
>  # CONFIG_EZX_PCAP is not set
> 




More information about the kernel-team mailing list