[packages/spl] - up to 0.6.5.8

baggins baggins at pld-linux.org
Mon Oct 10 22:30:33 CEST 2016


commit 8678d9a10a495b98d555d268839b4438bcf2daa7
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Mon Oct 10 22:30:19 2016 +0200

    - up to 0.6.5.8

 linux-4.7.patch | 109 --------------------------------------------------------
 spl.spec        |  11 +++---
 2 files changed, 4 insertions(+), 116 deletions(-)
---
diff --git a/spl.spec b/spl.spec
index 5a25a8d..1f4d5c7 100644
--- a/spl.spec
+++ b/spl.spec
@@ -21,17 +21,16 @@ exit 1
 %define		_duplicate_files_terminate_build	0
 
 %define		pname	spl
-%define		rel	2
+%define		rel	1
 Summary:	Solaris Porting Layer
 Summary(pl.UTF-8):	Solaris Porting Layer - warstwa do portowania kodu z Solarisa
 Name:		%{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
-Version:	0.6.5.7
+Version:	0.6.5.8
 Release:	%{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
 License:	GPL v2+
 Group:		Applications/System
-Source0:	http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/%{pname}-%{version}.tar.gz
-# Source0-md5:	4e6866cea182d25f2ecab1fb7201316a
-Patch0:		linux-4.7.patch
+Source0:	https://github.com/zfsonlinux/zfs/releases/download/zfs-%{version}/%{name}-%{version}.tar.gz
+# Source0-md5:	54b049cde051d0bd67f3f18ff58113c2
 URL:		http://zfsonlinux.org/
 BuildRequires:	rpmbuild(macros) >= 1.701
 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
@@ -123,8 +122,6 @@ p=`pwd`\
 
 %prep
 %setup -q -n %{pname}-%{version}
-%patch0 -p1
-
 
 %build
 %{__aclocal} -I config
diff --git a/linux-4.7.patch b/linux-4.7.patch
deleted file mode 100644
index 7f0e647..0000000
--- a/linux-4.7.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From fdbc1ba99d1f4d3958189079eee9b6c957e0264b Mon Sep 17 00:00:00 2001
-From: Chunwei Chen <david.chen at osnexus.com>
-Date: Wed, 18 May 2016 11:28:46 -0700
-Subject: [PATCH] Linux 4.7 compat: inode_lock() and friends
-
-Linux 4.7 changes i_mutex to i_rwsem, and we should used inode_lock and
-inode_lock_shared to do exclusive and shared lock respectively.
-
-We use spl_inode_lock{,_shared}() to hide the difference. Note that on older
-kernel you'll always take an exclusive lock.
-
-We also add all other inode_lock friends. And nested users now should
-explicitly call spl_inode_lock_nested with correct subclass.
-
-Signed-off-by: Chunwei Chen <david.chen at osnexus.com>
-Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
-Issue zfsonlinux/zfs#4665
-Closes #549
----
- config/spl-build.m4         | 25 +++++++++++++++++++++++++
- include/linux/file_compat.h | 19 ++++++++++++++++++-
- module/spl/spl-vnode.c      |  3 ++-
- 3 files changed, 45 insertions(+), 2 deletions(-)
-
-diff --git a/config/spl-build.m4 b/config/spl-build.m4
-index 55453c8..7205069 100644
---- a/config/spl-build.m4
-+++ b/config/spl-build.m4
-@@ -45,6 +45,7 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [
- 	SPL_AC_USLEEP_RANGE
- 	SPL_AC_KMEM_CACHE_ALLOCFLAGS
- 	SPL_AC_WAIT_ON_BIT
-+	SPL_AC_INODE_LOCK
- ])
- 
- AC_DEFUN([SPL_AC_MODULE_SYMVERS], [
-@@ -1476,3 +1477,27 @@ AC_DEFUN([SPL_AC_MUTEX_OWNER], [
- 	])
- 	EXTRA_KCFLAGS="$tmp_flags"
- ])
-+
-+dnl #
-+dnl # 4.7 API change
-+dnl # i_mutex is changed to i_rwsem. Instead of directly using
-+dnl # i_mutex/i_rwsem, we should use inode_lock() and inode_lock_shared()
-+dnl # We test inode_lock_shared because inode_lock is introduced earlier.
-+dnl #
-+AC_DEFUN([SPL_AC_INODE_LOCK], [
-+	AC_MSG_CHECKING([whether inode_lock_shared() exists])
-+	tmp_flags="$EXTRA_KCFLAGS"
-+	EXTRA_KCFLAGS="-Werror"
-+	SPL_LINUX_TRY_COMPILE([
-+		#include <linux/fs.h>
-+	],[
-+		struct inode *inode = NULL;
-+		inode_lock_shared(inode);
-+	],[
-+		AC_MSG_RESULT(yes)
-+		AC_DEFINE(HAVE_INODE_LOCK_SHARED, 1, [yes])
-+	],[
-+		AC_MSG_RESULT(no)
-+	])
-+	EXTRA_KCFLAGS="$tmp_flags"
-+])
-diff --git a/include/linux/file_compat.h b/include/linux/file_compat.h
-index c58bb81..9165145 100644
---- a/include/linux/file_compat.h
-+++ b/include/linux/file_compat.h
-@@ -76,8 +76,25 @@ spl_filp_fallocate(struct file *fp, int mode, loff_t offset, loff_t len)
- #define	spl_filp_fsync(fp, sync)	vfs_fsync(fp, (fp)->f_dentry, sync)
- #endif /* HAVE_2ARGS_VFS_FSYNC */
- 
--#define	spl_inode_lock(ip)		mutex_lock(&(ip)->i_mutex)
-+#ifdef HAVE_INODE_LOCK_SHARED
-+#define	spl_inode_lock(ip)		inode_lock(ip)
-+#define	spl_inode_unlock(ip)		inode_unlock(ip)
-+#define	spl_inode_lock_shared(ip)	inode_lock_shared(ip)
-+#define	spl_inode_unlock_shared(ip)	inode_unlock_shared(ip)
-+#define	spl_inode_trylock(ip)		inode_trylock(ip)
-+#define	spl_inode_trylock_shared(ip)	inode_trylock_shared(ip)
-+#define	spl_inode_is_locked(ip)		inode_is_locked(ip)
-+#define	spl_inode_lock_nested(ip, s)	inode_lock_nested(ip, s)
-+#else
-+#define	spl_inode_lock(ip)		mutex_lock(&(ip)->i_mutex)
- #define	spl_inode_unlock(ip)		mutex_unlock(&(ip)->i_mutex)
-+#define	spl_inode_lock_shared(ip)	mutex_lock(&(ip)->i_mutex)
-+#define	spl_inode_unlock_shared(ip)	mutex_unlock(&(ip)->i_mutex)
-+#define	spl_inode_trylock(ip)		mutex_trylock(&(ip)->i_mutex)
-+#define	spl_inode_trylock_shared(ip)	mutex_trylock(&(ip)->i_mutex)
-+#define	spl_inode_is_locked(ip)		mutex_is_locked(&(ip)->i_mutex)
-+#define	spl_inode_lock_nested(ip, s)	mutex_lock_nested(&(ip)->i_mutex, s)
-+#endif
- 
- #endif /* SPL_FILE_COMPAT_H */
- 
-diff --git a/module/spl/spl-vnode.c b/module/spl/spl-vnode.c
-index a914e04..addc611 100644
---- a/module/spl/spl-vnode.c
-+++ b/module/spl/spl-vnode.c
-@@ -352,7 +352,8 @@ spl_kern_path_locked(const char *name, struct path *path)
- 	if (rc)
- 		return (ERR_PTR(rc));
- 
--	spl_inode_lock(parent.dentry->d_inode);
-+	/* use I_MUTEX_PARENT because vfs_unlink needs it */
-+	spl_inode_lock_nested(parent.dentry->d_inode, I_MUTEX_PARENT);
- 
- 	dentry = lookup_one_len(basename, parent.dentry, len);
- 	if (IS_ERR(dentry)) {
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/spl.git/commitdiff/8678d9a10a495b98d555d268839b4438bcf2daa7



More information about the pld-cvs-commit mailing list