diff --git a/core/linux-kirkwood-dt/PKGBUILD b/core/linux-kirkwood-dt/PKGBUILD index d5a9865f1..76d27b83d 100644 --- a/core/linux-kirkwood-dt/PKGBUILD +++ b/core/linux-kirkwood-dt/PKGBUILD @@ -8,7 +8,7 @@ _kernelname=${pkgbase#linux} _desc="Marvell Kirkwood DT" pkgver=4.10.12 srcver=${pkgver%.0} -pkgrel=1 +pkgrel=2 arch=('arm') url="http://www.kernel.org/" license=('GPL2') @@ -22,6 +22,7 @@ source=("https://kernel.org/pub/linux/kernel/v4.x/linux-${srcver}.tar.xz" "bfq2.patch::http://algo.ing.unimo.it/people/paolo/disk_sched/patches/4.10.0-v8r8/0002-block-introduce-the-BFQ-v7r11-I-O-sched-for-4.10.0.patch" "bfq3.patch::http://algo.ing.unimo.it/people/paolo/disk_sched/patches/4.10.0-v8r8/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7r11-for.patch" "bfq4.patch::http://algo.ing.unimo.it/people/paolo/disk_sched/patches/4.10.0-v8r8/0004-Turn-BFQ-v7r11-for-4.10.0-into-BFQ-v8r8-for-4.10.0.patch" + 'fix_shortread_on_huge_media.patch' 'goflexhome_fdt.patch' 'linux.preset') md5sums=('64ea1adbb60a311e03c24c99471db3f7' @@ -31,11 +32,18 @@ md5sums=('64ea1adbb60a311e03c24c99471db3f7' 'be064321d4a0e29d233ef83705642f7c' '75fcf5d5756144c8afdda2dce5195def' '26704a2b02682dad6c96e2e744887c07' + '79dd8cd94a574db6b2a024dec7c45a54' 'f5a554eefbd337e71cca072e2d2cab45' '959e49540dac4c5e689ad9037150a360') prepare() { cd "${srcdir}/linux-${srcver}" + + # Effectively reverts commit A3d549dcfbbb0ecdaa571431a27ee5da9f2466716 as it causes + # kernel not to be able to read beyond 8TB on a single device. + # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=3d549dcfbbb0ecdaa571431a27ee5da9f2466716 + # https://archlinuxarm.org/forum/viewtopic.php?f=15&t=11535&p=55350#p55350 + patch -Np1 -i "${srcdir}/fix_shortread_on_huge_media.patch" msg2 "Add Arch Linux ARM patch for ARMv5te plug computers" patch -Np1 -i "${srcdir}/archlinuxarm.patch" diff --git a/core/linux-kirkwood-dt/fix_shortread_on_huge_media.patch b/core/linux-kirkwood-dt/fix_shortread_on_huge_media.patch new file mode 100644 index 000000000..1ec887e6c --- /dev/null +++ b/core/linux-kirkwood-dt/fix_shortread_on_huge_media.patch @@ -0,0 +1,14 @@ +diff -ruN a/mm/filemap.c b/mm/filemap.c +--- a/mm/filemap.c 2017-04-21 01:32:55.000000000 -0600 ++++ b/mm/filemap.c 2017-04-23 14:10:10.140023733 -0600 +@@ -1776,10 +1776,6 @@ + unsigned int prev_offset; + int error = 0; + +- if (unlikely(*ppos >= inode->i_sb->s_maxbytes)) +- return 0; +- iov_iter_truncate(iter, inode->i_sb->s_maxbytes); +- + index = *ppos >> PAGE_SHIFT; + prev_index = ra->prev_pos >> PAGE_SHIFT; + prev_offset = ra->prev_pos & (PAGE_SIZE-1); diff --git a/core/linux-kirkwood-dt/linux-kirkwood-dt.install b/core/linux-kirkwood-dt/linux-kirkwood-dt.install index 1478e88cc..ca7b8ef70 100644 --- a/core/linux-kirkwood-dt/linux-kirkwood-dt.install +++ b/core/linux-kirkwood-dt/linux-kirkwood-dt.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME=-kirkwood-dt -KERNEL_VERSION=4.10.4-1-ARCH +KERNEL_VERSION=4.10.12-2-ARCH post_install () { # updating module dependencies