Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=a6a71136d760cadbea526bcfcba125b9d411ba64
commit a6a71136d760cadbea526bcfcba125b9d411ba64 Author: DeX77 <[email protected]> Date: Thu Jul 27 13:23:13 2017 +0200 spl-0.7.0-37-x86_64 * switch from rc to released diff --git a/source/base-extra/spl/FrugalBuild b/source/base-extra/spl/FrugalBuild index cc2d069..cfbae72 100644 --- a/source/base-extra/spl/FrugalBuild +++ b/source/base-extra/spl/FrugalBuild @@ -3,19 +3,17 @@ pkgname=spl pkgver=0.7.0 -pkgextraver="-rc4" -pkgrel=36 +pkgrel=37 pkgdesc="ZFS Solaris Porting Layer" url="http://zfsonlinux.org" depends=('glibc') groups=('base-extra') archs=('x86_64') up2date="Flasttar $url" -source=(https://github.com/zfsonlinux/$pkgname/archive/$pkgname-$pkgver$pkgextraver.tar.gz \ - kernel-4.12.patch ) -sha1sums=('f3ea3ba763f114dba46ba3b07931b0b85197b880' \ - '2469620a8b87745cbdfc2eb20e5bf84434308439') +source=(https://github.com/zfsonlinux/$pkgname/archive/$pkgname-$pkgver$pkgextraver.tar.gz) +sha1sums=('0a7ff2f76753a06e77f77e63d8d97fb3395f48a1') _F_cd_path="$pkgname-$pkgname-$pkgver$pkgextraver" +Fconfopts=" --with-config=all" Finclude kernel-module subpkgs=("$pkgname-source") @@ -26,12 +24,7 @@ subarchs=("${archs[*]}") build() { - Fcd - Fpatchall - Fautogen - - Fmake --with-config=all - Fmakeinstall + Fbuild Fbuild_kernelmod_scriptlet Fkernelver_compress_modules diff --git a/source/base-extra/spl/kernel-4.12.patch b/source/base-extra/spl/kernel-4.12.patch deleted file mode 100644 index d90ba2b..0000000 --- a/source/base-extra/spl/kernel-4.12.patch +++ /dev/null @@ -1,136 +0,0 @@ -From 8f87971e1fd11e3bca034dff2cbc0e884381c350 Mon Sep 17 00:00:00 2001 -From: Chunwei Chen <[email protected]> -Date: Tue, 9 May 2017 10:36:54 -0700 -Subject: [PATCH] Linux 4.12 compat: PF_FSTRANS was removed - -Change SPL_FSTRANS to optionally contains PF_FSTRANS. Also, add -__spl_pf_fstrans_check for the checks specifically for PF_FSTRANS. - -Reviewed-by: Brian Behlendorf <[email protected]> -Signed-off-by: Chunwei Chen <[email protected]> -Closes #614 ---- - include/sys/kmem.h | 37 +++++++++++++++++++++++++++++++++---- - module/spl/spl-vnode.c | 12 ++++++------ - 2 files changed, 39 insertions(+), 10 deletions(-) - -diff --git a/include/sys/kmem.h b/include/sys/kmem.h -index d4b3bf68..d6b42855 100644 ---- a/include/sys/kmem.h -+++ b/include/sys/kmem.h -@@ -46,6 +46,8 @@ extern void strfree(char *str); - - #define KM_PUBLIC_MASK (KM_SLEEP | KM_NOSLEEP | KM_PUSHPAGE) - -+static int spl_fstrans_check(void); -+ - /* - * Convert a KM_* flags mask to its Linux GFP_* counterpart. The conversion - * function is context aware which means that KM_SLEEP allocations can be -@@ -60,7 +62,7 @@ kmem_flags_convert(int flags) - lflags |= GFP_ATOMIC | __GFP_NORETRY; - } else { - lflags |= GFP_KERNEL; -- if ((current->flags & PF_FSTRANS)) -+ if (spl_fstrans_check()) - lflags &= ~(__GFP_IO|__GFP_FS); - } - -@@ -78,17 +80,34 @@ typedef struct { - unsigned int saved_flags; - } fstrans_cookie_t; - -+/* -+ * Introduced in Linux 3.9, however this cannot be solely relied on before -+ * Linux 3.18 as it doesn't turn off __GFP_FS as it should. -+ */ - #ifdef PF_MEMALLOC_NOIO --#define SPL_FSTRANS (PF_FSTRANS|PF_MEMALLOC_NOIO) -+#define __SPL_PF_MEMALLOC_NOIO (PF_MEMALLOC_NOIO) -+#else -+#define __SPL_PF_MEMALLOC_NOIO (0) -+#endif -+ -+/* -+ * PF_FSTRANS is removed from Linux 4.12 -+ */ -+#ifdef PF_FSTRANS -+#define __SPL_PF_FSTRANS (PF_FSTRANS) - #else --#define SPL_FSTRANS (PF_FSTRANS) -+#define __SPL_PF_FSTRANS (0) - #endif - -+#define SPL_FSTRANS (__SPL_PF_FSTRANS|__SPL_PF_MEMALLOC_NOIO) -+ - static inline fstrans_cookie_t - spl_fstrans_mark(void) - { - fstrans_cookie_t cookie; - -+ BUILD_BUG_ON(SPL_FSTRANS == 0); -+ - cookie.fstrans_thread = current; - cookie.saved_flags = current->flags & SPL_FSTRANS; - current->flags |= SPL_FSTRANS; -@@ -109,7 +128,17 @@ spl_fstrans_unmark(fstrans_cookie_t cookie) - static inline int - spl_fstrans_check(void) - { -- return (current->flags & PF_FSTRANS); -+ return (current->flags & SPL_FSTRANS); -+} -+ -+/* -+ * specifically used to check PF_FSTRANS flag, cannot be relied on for -+ * checking spl_fstrans_mark(). -+ */ -+static inline int -+__spl_pf_fstrans_check(void) -+{ -+ return (current->flags & __SPL_PF_FSTRANS); - } - - #ifdef HAVE_ATOMIC64_T -diff --git a/module/spl/spl-vnode.c b/module/spl/spl-vnode.c -index 0902e116..346e63c0 100644 ---- a/module/spl/spl-vnode.c -+++ b/module/spl/spl-vnode.c -@@ -558,13 +558,13 @@ int vn_fsync(vnode_t *vp, int flags, void *x3, void *x4) - * May enter XFS which generates a warning when PF_FSTRANS is set. - * To avoid this the flag is cleared over vfs_sync() and then reset. - */ -- fstrans = spl_fstrans_check(); -+ fstrans = __spl_pf_fstrans_check(); - if (fstrans) -- current->flags &= ~(PF_FSTRANS); -+ current->flags &= ~(__SPL_PF_FSTRANS); - - error = -spl_filp_fsync(vp->v_file, datasync); - if (fstrans) -- current->flags |= PF_FSTRANS; -+ current->flags |= __SPL_PF_FSTRANS; - - return (error); - } /* vn_fsync() */ -@@ -590,9 +590,9 @@ int vn_space(vnode_t *vp, int cmd, struct flock *bfp, int flag, - * May enter XFS which generates a warning when PF_FSTRANS is set. - * To avoid this the flag is cleared over vfs_sync() and then reset. - */ -- fstrans = spl_fstrans_check(); -+ fstrans = __spl_pf_fstrans_check(); - if (fstrans) -- current->flags &= ~(PF_FSTRANS); -+ current->flags &= ~(__SPL_PF_FSTRANS); - - /* - * When supported by the underlying file system preferentially -@@ -603,7 +603,7 @@ int vn_space(vnode_t *vp, int cmd, struct flock *bfp, int flag, - bfp->l_start, bfp->l_len); - - if (fstrans) -- current->flags |= PF_FSTRANS; -+ current->flags |= __SPL_PF_FSTRANS; - - if (error == 0) - return (0); _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
