diff --git a/PKGBUILD b/PKGBUILD index 793ba22..640c5a6 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -8,7 +8,7 @@ pkgname=('linux' 'linux-headers' 'linux-docs') # Build stock -ARCH kernel _kernelname=${pkgname#linux} _basekernel=3.2 pkgver=${_basekernel}.7 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url="http://www.kernel.org/" license=('GPL2') @@ -22,15 +22,17 @@ source=("http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.2.tar.xz" "${pkgname}.preset" 'change-default-console-loglevel.patch' 'i915-fix-ghost-tv-output.patch' - 'i915-gpu-finish.patch') + 'i915-gpu-finish.patch' + 'ext4-options.patch') md5sums=('364066fa18767ec0ae5f4e4abcf9dc51' 'e507fce2c266549df9565172196c912d' - 'd23c3442fa462d2dfcfb20e2e6b10b1c' - '48c7c341662c213a94fecc4e60353099' + 'a6913ef2a39541f18bd610cbb8f360ea' + '2182f8e0de70498130f7d9d770092c73' 'eb14dcfd80c00852ef81ded6e826826a' '9d3c56a4b999c8bfbd4018089a62f662' '263725f20c0b9eb9c353040792d644e5' - '4cd79aa147825837dc8bc9f6b736c0a0') + '4cd79aa147825837dc8bc9f6b736c0a0' + 'c8299cf750a84e12d60b372c8ca7e1e8') build() { cd "${srcdir}/linux-${_basekernel}" @@ -59,6 +61,10 @@ build() { # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227) patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch" + # fix ext4 module to mount ext3/2 correct + # https://bugs.archlinux.org/task/28653 + patch -Np1 -i "${srcdir}/ext4-options.patch" + if [ "${CARCH}" = "x86_64" ]; then cat "${srcdir}/config.x86_64" > ./.config else @@ -295,3 +301,4 @@ package_linux-docs() { # remove a file already in linux package rm -f "${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile" } + diff --git a/ext4-options.patch b/ext4-options.patch new file mode 100644 index 0000000..812b05f --- /dev/null +++ b/ext4-options.patch @@ -0,0 +1,49 @@ +Report: https://bbs.archlinux.org/profile.php?id=33804 +Signed-off-by: Tom Gundersen +Cc: Thomas Baechler +Cc: Tobias Powalowski +Cc: Dave Reisner +--- + fs/ext4/super.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/fs/ext4/super.c b/fs/ext4/super.c +index 502c61f..30de9cd 100644 +--- a/fs/ext4/super.c ++++ b/fs/ext4/super.c +@@ -1333,6 +1333,7 @@ enum { + Opt_inode_readahead_blks, Opt_journal_ioprio, + Opt_dioread_nolock, Opt_dioread_lock, + Opt_discard, Opt_nodiscard, Opt_init_itable, Opt_noinit_itable, ++ Opt_nocheck, Opt_reservation, Opt_noreservation, Opt_journal_inum, + }; + + static const match_table_t tokens = { +@@ -1408,6 +1409,10 @@ static const match_table_t tokens = { + {Opt_init_itable, "init_itable=%u"}, + {Opt_init_itable, "init_itable"}, + {Opt_noinit_itable, "noinit_itable"}, ++ {Opt_nocheck, "nocheck"}, ++ {Opt_reservation, "reservation"}, ++ {Opt_noreservation, "noreservation"}, ++ {Opt_journal_inum, "journal=%u"}, + {Opt_err, NULL}, + }; + +@@ -1904,6 +1909,16 @@ set_qf_format: + case Opt_noinit_itable: + clear_opt(sb, INIT_INODE_TABLE); + break; ++#ifdef CONFIG_EXT4_USE_FOR_EXT23 ++ case Opt_nocheck: ++ case Opt_reservation: ++ case Opt_noreservation: ++ case Opt_journal_inum: ++ ext4_msg(sb, KERN_WARNING, ++ "ext3 mount option \"%s\" ignored " ++ "by ext4 module", p); ++ break; ++#endif + default: + ext4_msg(sb, KERN_ERR, + "Unrecognized mount option \"%s\" " \ No newline at end of file diff --git a/linux.install b/linux.install index 4f6ceea..ecb483c 100644 --- a/linux.install +++ b/linux.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME= -KERNEL_VERSION=3.2.7-1-ARCH +KERNEL_VERSION=3.2.7-2-ARCH post_install () { # updating module dependencies