Message ID | 563B5B90.4010503@canonical.com |
---|---|
State | New |
Headers | show |
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 >
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 --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