diff mbox

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

Message ID 563B5B90.4010503@canonical.com
State New
Headers show

Commit Message

Kyle Fazzari Nov. 5, 2015, 1:37 p.m. UTC
From 8d7272b0cdbc429323a9061e082f245864cfb5c8 Mon Sep 17 00:00:00 2001
From: Kyle Fazzari <kyle@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@canonical.com>
---
 debian.mako/config/config.common.ubuntu | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

Comments

Tim Gardner Nov. 6, 2015, 8:05 p.m. UTC | #1

Chris J Arges Nov. 6, 2015, 8:10 p.m. UTC | #2
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@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@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@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@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
>
Tim Gardner Nov. 6, 2015, 8:15 p.m. UTC | #3
On 11/06/2015 02:10 PM, Chris J Arges wrote:
> 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.
> 

I think this doesn't apply until 3.17.
diff mbox

Patch

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