[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