[packages/zfs] - up to 0.6.5.9
baggins
baggins at pld-linux.org
Sat Mar 25 22:05:36 CET 2017
commit 9bfd67457883a122714dbd862299f6a8325b4326
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Sat Mar 25 22:05:24 2017 +0100
- up to 0.6.5.9
linux-4.9.patch | 408 --------------------------------------------------
setattr_prepare.patch | 96 ------------
zfs.spec | 10 +-
3 files changed, 3 insertions(+), 511 deletions(-)
---
diff --git a/zfs.spec b/zfs.spec
index be6d09e..6024ddc 100644
--- a/zfs.spec
+++ b/zfs.spec
@@ -26,21 +26,19 @@ exit 1
%define _duplicate_files_terminate_build 0
-%define rel 5
+%define rel 1
%define pname zfs
Summary: Native Linux port of the ZFS filesystem
Summary(pl.UTF-8): Natywny linuksowy port systemu plików ZFS
Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
-Version: 0.6.5.8
+Version: 0.6.5.9
Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
License: CDDL (ZFS), GPL v2+ (ZPIOS)
Group: Applications/System
Source0: https://github.com/zfsonlinux/zfs/releases/download/zfs-%{version}/%{pname}-%{version}.tar.gz
-# Source0-md5: ffc51dcf5260d3c7e747fe78f8ae307c
+# Source0-md5: 9dceb3930be4e1a8cf35bcc40e48e527
Patch0: %{pname}-link.patch
Patch1: x32.patch
-Patch2: setattr_prepare.patch
-Patch3: linux-4.9.patch
URL: http://zfsonlinux.org/
BuildRequires: autoconf >= 2.50
BuildRequires: automake
@@ -221,8 +219,6 @@ p=`pwd`\
%setup -q -n %{pname}-%{version}
%patch0 -p1
%patch1 -p1
-%patch2 -p1
-%patch3 -p1
%build
%{__libtoolize}
diff --git a/linux-4.9.patch b/linux-4.9.patch
deleted file mode 100644
index 7a001eb..0000000
--- a/linux-4.9.patch
+++ /dev/null
@@ -1,408 +0,0 @@
-From b8d9e26440ade0edebfa98af8cb9371810c1aeaf Mon Sep 17 00:00:00 2001
-From: Chunwei Chen <david.chen at osnexus.com>
-Date: Wed, 19 Oct 2016 11:19:01 -0700
-Subject: [PATCH] Linux 4.9 compat: iops->rename() wants flags
-
-In Linux 4.9, torvalds/linux at 2773bf0, iops->rename() and iops->rename2() are
-merged together into iops->rename(), it now wants flags.
-
-Signed-off-by: Chunwei Chen <david.chen at osnexus.com>
----
- config/kernel-rename.m4 | 25 +++++++++++++++++++++++++
- config/kernel.m4 | 1 +
- module/zfs/zpl_ctldir.c | 23 ++++++++++++++++++++---
- module/zfs/zpl_inode.c | 21 +++++++++++++++++++--
- 4 files changed, 65 insertions(+), 5 deletions(-)
- create mode 100644 config/kernel-rename.m4
-
-diff --git a/config/kernel-rename.m4 b/config/kernel-rename.m4
-new file mode 100644
-index 0000000..9f894fb
---- /dev/null
-+++ b/config/kernel-rename.m4
-@@ -0,0 +1,25 @@
-+dnl #
-+dnl # 4.9 API change,
-+dnl # iops->rename2() merged into iops->rename(), and iops->rename() now wants
-+dnl # flags.
-+dnl #
-+AC_DEFUN([ZFS_AC_KERNEL_RENAME_WANTS_FLAGS], [
-+ AC_MSG_CHECKING([whether iops->rename() wants flags])
-+ ZFS_LINUX_TRY_COMPILE([
-+ #include <linux/fs.h>
-+ int rename_fn(struct inode *sip, struct dentry *sdp,
-+ struct inode *tip, struct dentry *tdp,
-+ unsigned int flags) { return 0; }
-+
-+ static const struct inode_operations
-+ iops __attribute__ ((unused)) = {
-+ .rename = rename_fn,
-+ };
-+ ],[
-+ ],[
-+ AC_MSG_RESULT(yes)
-+ AC_DEFINE(HAVE_RENAME_WANTS_FLAGS, 1, [iops->rename() wants flags])
-+ ],[
-+ AC_MSG_RESULT(no)
-+ ])
-+])
-diff --git a/config/kernel.m4 b/config/kernel.m4
-index c53e611..3763525 100644
---- a/config/kernel.m4
-+++ b/config/kernel.m4
-@@ -103,6 +103,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
- ZFS_AC_KERNEL_FOLLOW_DOWN_ONE
- ZFS_AC_KERNEL_MAKE_REQUEST_FN
- ZFS_AC_KERNEL_GENERIC_IO_ACCT
-+ ZFS_AC_KERNEL_RENAME_WANTS_FLAGS
-
- AS_IF([test "$LINUX_OBJ" != "$LINUX"], [
- KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
-diff --git a/module/zfs/zpl_ctldir.c b/module/zfs/zpl_ctldir.c
-index 7c4fcea..cdd6668 100644
---- a/module/zfs/zpl_ctldir.c
-+++ b/module/zfs/zpl_ctldir.c
-@@ -301,13 +301,17 @@ zpl_snapdir_readdir(struct file *filp, void *dirent, filldir_t filldir)
- }
- #endif /* HAVE_VFS_ITERATE */
-
--int
--zpl_snapdir_rename(struct inode *sdip, struct dentry *sdentry,
-- struct inode *tdip, struct dentry *tdentry)
-+static int
-+zpl_snapdir_rename2(struct inode *sdip, struct dentry *sdentry,
-+ struct inode *tdip, struct dentry *tdentry, unsigned int flags)
- {
- cred_t *cr = CRED();
- int error;
-
-+ /* We probably don't want to support renameat2(2) in ctldir */
-+ if (flags)
-+ return (-EINVAL);
-+
- crhold(cr);
- error = -zfsctl_snapdir_rename(sdip, dname(sdentry),
- tdip, dname(tdentry), cr, 0);
-@@ -317,6 +321,15 @@ zpl_snapdir_rename(struct inode *sdip, struct dentry *sdentry,
- return (error);
- }
-
-+#ifndef HAVE_RENAME_WANTS_FLAGS
-+static int
-+zpl_snapdir_rename(struct inode *sdip, struct dentry *sdentry,
-+ struct inode *tdip, struct dentry *tdentry)
-+{
-+ return (zpl_snapdir_rename2(sdip, sdentry, tdip, tdentry, 0));
-+}
-+#endif
-+
- static int
- zpl_snapdir_rmdir(struct inode *dip, struct dentry *dentry)
- {
-@@ -405,7 +418,11 @@ const struct file_operations zpl_fops_snapdir = {
- const struct inode_operations zpl_ops_snapdir = {
- .lookup = zpl_snapdir_lookup,
- .getattr = zpl_snapdir_getattr,
-+#ifdef HAVE_RENAME_WANTS_FLAGS
-+ .rename = zpl_snapdir_rename2,
-+#else
- .rename = zpl_snapdir_rename,
-+#endif
- .rmdir = zpl_snapdir_rmdir,
- .mkdir = zpl_snapdir_mkdir,
- };
-diff --git a/module/zfs/zpl_inode.c b/module/zfs/zpl_inode.c
-index d26193f..113885e 100644
---- a/module/zfs/zpl_inode.c
-+++ b/module/zfs/zpl_inode.c
-@@ -356,13 +356,17 @@ zpl_setattr(struct dentry *dentry, struct iattr *ia)
- }
-
- static int
--zpl_rename(struct inode *sdip, struct dentry *sdentry,
-- struct inode *tdip, struct dentry *tdentry)
-+zpl_rename2(struct inode *sdip, struct dentry *sdentry,
-+ struct inode *tdip, struct dentry *tdentry, unsigned int flags)
- {
- cred_t *cr = CRED();
- int error;
- fstrans_cookie_t cookie;
-
-+ /* We don't have renameat2(2) support */
-+ if (flags)
-+ return (-EINVAL);
-+
- crhold(cr);
- cookie = spl_fstrans_mark();
- error = -zfs_rename(sdip, dname(sdentry), tdip, dname(tdentry), cr, 0);
-@@ -373,6 +377,15 @@ zpl_rename(struct inode *sdip, struct dentry *sdentry,
- return (error);
- }
-
-+#ifndef HAVE_RENAME_WANTS_FLAGS
-+static int
-+zpl_rename(struct inode *sdip, struct dentry *sdentry,
-+ struct inode *tdip, struct dentry *tdentry)
-+{
-+ return (zpl_rename2(sdip, sdentry, tdip, tdentry, 0));
-+}
-+#endif
-+
- static int
- zpl_symlink(struct inode *dir, struct dentry *dentry, const char *name)
- {
-@@ -662,7 +662,11 @@
- .mkdir = zpl_mkdir,
- .rmdir = zpl_rmdir,
- .mknod = zpl_mknod,
-+#ifdef HAVE_RENAME_WANTS_FLAGS
-+ .rename = zpl_rename2,
-+#else
- .rename = zpl_rename,
-+#endif
- .setattr = zpl_setattr,
- .getattr = zpl_getattr,
- #ifdef HAVE_GENERIC_SETXATTR
-@@ -681,7 +694,11 @@ const struct inode_operations zpl_dir_inode_operations = {
- .mkdir = zpl_mkdir,
- .rmdir = zpl_rmdir,
- .mknod = zpl_mknod,
-+#ifdef HAVE_RENAME_WANTS_FLAGS
-+ .rename = zpl_rename2,
-+#else
- .rename = zpl_rename,
-+#endif
- .setattr = zpl_setattr,
- .getattr = zpl_getattr,
- .setxattr = generic_setxattr,
-From 0fedeedd309eca62d15fffd8bd811e2b12660e21 Mon Sep 17 00:00:00 2001
-From: Chunwei Chen <david.chen at osnexus.com>
-Date: Wed, 19 Oct 2016 11:19:17 -0700
-Subject: [PATCH] Linux 4.9 compat: remove iops->{set,get,remove}xattr
-
-In Linux 4.9, torvalds/linux at fd50eca, iops->{set,get,remove}xattr and
-generic_{set,get,remove}xattr are removed. xattr operations will directly
-go through sb->s_xattr.
-
-Signed-off-by: Chunwei Chen <david.chen at osnexus.com>
----
- config/kernel-xattr-handler.m4 | 25 +++++++++++++++++++++++++
- config/kernel.m4 | 1 +
- module/zfs/zpl_inode.c | 8 ++++++++
- 3 files changed, 34 insertions(+)
-
-diff --git a/config/kernel-xattr-handler.m4 b/config/kernel-xattr-handler.m4
-index ce18eaf..300cb0b 100644
---- a/config/kernel-xattr-handler.m4
-+++ b/config/kernel-xattr-handler.m4
-@@ -58,6 +58,31 @@ AC_DEFUN([ZFS_AC_KERNEL_XATTR_HANDLER_NAME], [
- ])
-
- dnl #
-+dnl # 4.9 API change,
-+dnl # iops->{set,get,remove}xattr and generic_{set,get,remove}xattr are
-+dnl # removed. xattr operations will directly go through sb->s_xattr.
-+dnl #
-+AC_DEFUN([ZFS_AC_KERNEL_HAVE_GENERIC_SETXATTR], [
-+ AC_MSG_CHECKING([whether generic_setxattr() exists])
-+ ZFS_LINUX_TRY_COMPILE([
-+ #include <linux/fs.h>
-+ #include <linux/xattr.h>
-+
-+ static const struct inode_operations
-+ iops __attribute__ ((unused)) = {
-+ .setxattr = generic_setxattr
-+ };
-+ ],[
-+ ],[
-+ AC_MSG_RESULT(yes)
-+ AC_DEFINE(HAVE_GENERIC_SETXATTR, 1,
-+ [generic_setxattr() exists])
-+ ],[
-+ AC_MSG_RESULT(no)
-+ ])
-+])
-+
-+dnl #
- dnl # Supported xattr handler get() interfaces checked newest to oldest.
- dnl #
- AC_DEFUN([ZFS_AC_KERNEL_XATTR_HANDLER_GET], [
-diff --git a/config/kernel.m4 b/config/kernel.m4
-index 3763525..66e97c2 100644
---- a/config/kernel.m4
-+++ b/config/kernel.m4
-@@ -104,6 +104,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
- ZFS_AC_KERNEL_MAKE_REQUEST_FN
- ZFS_AC_KERNEL_GENERIC_IO_ACCT
- ZFS_AC_KERNEL_RENAME_WANTS_FLAGS
-+ ZFS_AC_KERNEL_HAVE_GENERIC_SETXATTR
-
- AS_IF([test "$LINUX_OBJ" != "$LINUX"], [
- KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
-diff --git a/module/zfs/zpl_inode.c b/module/zfs/zpl_inode.c
-index 113885e..f59f2df9 100644
---- a/module/zfs/zpl_inode.c
-+++ b/module/zfs/zpl_inode.c
-@@ -664,9 +664,11 @@ zpl_revalidate(struct dentry *dentry, unsigned int flags)
- const struct inode_operations zpl_inode_operations = {
- .setattr = zpl_setattr,
- .getattr = zpl_getattr,
-+#ifdef HAVE_GENERIC_SETXATTR
- .setxattr = generic_setxattr,
- .getxattr = generic_getxattr,
- .removexattr = generic_removexattr,
-+#endif
- .listxattr = zpl_xattr_list,
- #ifdef HAVE_INODE_TRUNCATE_RANGE
- .truncate_range = zpl_truncate_range,
-@@ -701,9 +703,11 @@ const struct inode_operations zpl_dir_inode_operations = {
- #endif
- .setattr = zpl_setattr,
- .getattr = zpl_getattr,
-+#ifdef HAVE_GENERIC_SETXATTR
- .setxattr = generic_setxattr,
- .getxattr = generic_getxattr,
- .removexattr = generic_removexattr,
-+#endif
- .listxattr = zpl_xattr_list,
- #if defined(CONFIG_FS_POSIX_ACL)
- #if defined(HAVE_GET_ACL)
-@@ -728,18 +732,22 @@ const struct inode_operations zpl_symlink_inode_operations = {
- #endif
- .setattr = zpl_setattr,
- .getattr = zpl_getattr,
-+#ifdef HAVE_GENERIC_SETXATTR
- .setxattr = generic_setxattr,
- .getxattr = generic_getxattr,
- .removexattr = generic_removexattr,
-+#endif
- .listxattr = zpl_xattr_list,
- };
-
- const struct inode_operations zpl_special_inode_operations = {
- .setattr = zpl_setattr,
- .getattr = zpl_getattr,
-+#ifdef HAVE_GENERIC_SETXATTR
- .setxattr = generic_setxattr,
- .getxattr = generic_getxattr,
- .removexattr = generic_removexattr,
-+#endif
- .listxattr = zpl_xattr_list,
- #if defined(CONFIG_FS_POSIX_ACL)
- #if defined(HAVE_GET_ACL)
-From 7ca25051b6470e8471b4ed454d8c66ff21338de3 Mon Sep 17 00:00:00 2001
-From: DeHackEd <DeHackEd at users.noreply.github.com>
-Date: Tue, 15 Nov 2016 12:20:46 -0500
-Subject: [PATCH] Kernel 4.9 compat: file_operations->aio_fsync removal
-
-Linux kernel commit 723c038475b78 removed this field.
-
-Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
-Signed-off-by: DHE <git at dehacked.net>
-Closes #5393
----
- config/kernel-aio-fsync.m4 | 21 +++++++++++++++++++++
- config/kernel.m4 | 1 +
- module/zfs/zpl_file.c | 11 +++++++++++
- 3 files changed, 33 insertions(+)
- create mode 100644 config/kernel-aio-fsync.m4
-
-diff --git a/config/kernel-aio-fsync.m4 b/config/kernel-aio-fsync.m4
-new file mode 100644
-index 0000000..41b7a98a
---- /dev/null
-+++ b/config/kernel-aio-fsync.m4
-@@ -0,0 +1,21 @@
-+dnl #
-+dnl # Linux 4.9-rc5+ ABI, removal of the .aio_fsync field
-+dnl #
-+AC_DEFUN([ZFS_AC_KERNEL_AIO_FSYNC], [
-+ AC_MSG_CHECKING([whether fops->aio_fsync() exists])
-+ ZFS_LINUX_TRY_COMPILE([
-+ #include <linux/fs.h>
-+
-+ static const struct file_operations
-+ fops __attribute__ ((unused)) = {
-+ .aio_fsync = NULL,
-+ };
-+ ],[
-+ ],[
-+ AC_MSG_RESULT(yes)
-+ AC_DEFINE(HAVE_FILE_AIO_FSYNC, 1, [fops->aio_fsync() exists])
-+ ],[
-+ AC_MSG_RESULT(no)
-+ ])
-+])
-+
-diff --git a/config/kernel.m4 b/config/kernel.m4
-index af59451..b66631a 100644
---- a/config/kernel.m4
-+++ b/config/kernel.m4
-@@ -66,6 +66,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
- ZFS_AC_KERNEL_NR_CACHED_OBJECTS
- ZFS_AC_KERNEL_FREE_CACHED_OBJECTS
- ZFS_AC_KERNEL_FALLOCATE
-+ ZFS_AC_KERNEL_AIO_FSYNC
- ZFS_AC_KERNEL_MKDIR_UMODE_T
- ZFS_AC_KERNEL_LOOKUP_NAMEIDATA
- ZFS_AC_KERNEL_CREATE_NAMEIDATA
-diff --git a/module/zfs/zpl_file.c b/module/zfs/zpl_file.c
-index 2c84d70..a225220 100644
---- a/module/zfs/zpl_file.c
-+++ b/module/zfs/zpl_file.c
-@@ -130,12 +130,15 @@ zpl_fsync(struct file *filp, struct dentry *dentry, int datasync)
- return (error);
- }
-
-+#ifdef HAVE_FILE_AIO_FSYNC
- static int
- zpl_aio_fsync(struct kiocb *kiocb, int datasync)
- {
- struct file *filp = kiocb->ki_filp;
- return (zpl_fsync(filp, filp->f_path.dentry, datasync));
- }
-+#endif
-+
- #elif defined(HAVE_FSYNC_WITHOUT_DENTRY)
- /*
- * Linux 2.6.35 - 3.0 API,
-@@ -161,11 +164,14 @@ zpl_fsync(struct file *filp, int datasync)
- return (error);
- }
-
-+#ifdef HAVE_FILE_AIO_FSYNC
- static int
- zpl_aio_fsync(struct kiocb *kiocb, int datasync)
- {
- return (zpl_fsync(kiocb->ki_filp, datasync));
- }
-+#endif
-+
- #elif defined(HAVE_FSYNC_RANGE)
- /*
- * Linux 3.1 - 3.x API,
-@@ -196,11 +202,14 @@ zpl_fsync(struct file *filp, loff_t start, loff_t end, int datasync)
- return (error);
- }
-
-+#ifdef HAVE_FILE_AIO_FSYNC
- static int
- zpl_aio_fsync(struct kiocb *kiocb, int datasync)
- {
- return (zpl_fsync(kiocb->ki_filp, kiocb->ki_pos, -1, datasync));
- }
-+#endif
-+
- #else
- #error "Unsupported fops->fsync() implementation"
- #endif
-@@ -838,7 +847,9 @@ const struct file_operations zpl_file_operations = {
- #endif
- .mmap = zpl_mmap,
- .fsync = zpl_fsync,
-+#ifdef HAVE_FILE_AIO_FSYNC
- .aio_fsync = zpl_aio_fsync,
-+#endif
- #ifdef HAVE_FILE_FALLOCATE
- .fallocate = zpl_fallocate,
- #endif /* HAVE_FILE_FALLOCATE */
diff --git a/setattr_prepare.patch b/setattr_prepare.patch
deleted file mode 100644
index 153f9ad..0000000
--- a/setattr_prepare.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 3b0ba3ba99b8a3af0fb532bf264629436b1abd84 Mon Sep 17 00:00:00 2001
-From: Brian Behlendorf <behlendorf1 at llnl.gov>
-Date: Tue, 18 Oct 2016 23:49:23 +0000
-Subject: [PATCH] Linux 4.9 compat: inode_change_ok() renamed setattr_prepare()
-
-In torvalds/linux at 31051c8 the inode_change_ok() function was
-renamed setattr_prepare() and updated to take a dentry ratheri
-than an inode. Update the code to call the setattr_prepare()
-and add a wrapper function which call inode_change_ok() for
-older kernels.
-
-Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
-Signed-off-by: Chunwei Chen <david.chen at osnexus.com>
-Requires-spl: refs/pull/581/head
----
- config/kernel-setattr-prepare.m4 | 23 +++++++++++++++++++++++
- config/kernel.m4 | 1 +
- include/linux/vfs_compat.h | 11 +++++++++++
- module/zfs/zpl_inode.c | 2 +-
- 4 files changed, 36 insertions(+), 1 deletion(-)
- create mode 100644 config/kernel-setattr-prepare.m4
-
-diff --git a/config/kernel-setattr-prepare.m4 b/config/kernel-setattr-prepare.m4
-new file mode 100644
-index 0000000..32f7deb
---- /dev/null
-+++ b/config/kernel-setattr-prepare.m4
-@@ -0,0 +1,23 @@
-+dnl #
-+dnl # 4.9 API change
-+dnl # The inode_change_ok() function has been renamed setattr_prepare()
-+dnl # and updated to take a dentry rather than an inode.
-+dnl #
-+AC_DEFUN([ZFS_AC_KERNEL_SETATTR_PREPARE],
-+ [AC_MSG_CHECKING([whether setattr_prepare() is available])
-+ ZFS_LINUX_TRY_COMPILE_SYMBOL([
-+ #include <linux/fs.h>
-+ ], [
-+ struct dentry *dentry = NULL;
-+ struct iattr *attr = NULL;
-+ int error;
-+
-+ error = setattr_prepare(dentry, attr);
-+ ], [setattr_prepare], [fs/attr.c], [
-+ AC_MSG_RESULT(yes)
-+ AC_DEFINE(HAVE_SETATTR_PREPARE, 1,
-+ [setattr_prepare() is available])
-+ ], [
-+ AC_MSG_RESULT(no)
-+ ])
-+])
-diff --git a/config/kernel.m4 b/config/kernel.m4
-index 66e97c2..44a20f2 100644
---- a/config/kernel.m4
-+++ b/config/kernel.m4
-@@ -74,6 +74,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
- ZFS_AC_KERNEL_ENCODE_FH_WITH_INODE
- ZFS_AC_KERNEL_COMMIT_METADATA
- ZFS_AC_KERNEL_CLEAR_INODE
-+ ZFS_AC_KERNEL_SETATTR_PREPARE
- ZFS_AC_KERNEL_INSERT_INODE_LOCKED
- ZFS_AC_KERNEL_D_MAKE_ROOT
- ZFS_AC_KERNEL_D_OBTAIN_ALIAS
-diff --git a/include/linux/vfs_compat.h b/include/linux/vfs_compat.h
-index 8a64cab..989c237 100644
---- a/include/linux/vfs_compat.h
-+++ b/include/linux/vfs_compat.h
-@@ -444,4 +444,15 @@ static inline void zfs_gid_write(struct inode *ip, gid_t gid)
- #define zpl_follow_up(path) follow_up(path)
- #endif
-
-+/*
-+ * 4.9 API change
-+ */
-+#ifndef HAVE_SETATTR_PREPARE
-+static inline int
-+setattr_prepare(struct dentry *dentry, struct iattr *ia)
-+{
-+ return (inode_change_ok(dentry->d_inode, ia));
-+}
-+#endif
-+
- #endif /* _ZFS_VFS_H */
-diff --git a/module/zfs/zpl_inode.c b/module/zfs/zpl_inode.c
-index f59f2df9..b8adda7 100644
---- a/module/zfs/zpl_inode.c
-+++ b/module/zfs/zpl_inode.c
-@@ -323,7 +323,7 @@ zpl_setattr(struct dentry *dentry, struct iattr *ia)
- int error;
- fstrans_cookie_t cookie;
-
-- error = inode_change_ok(ip, ia);
-+ error = setattr_prepare(dentry, ia);
- if (error)
- return (error);
-
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/zfs.git/commitdiff/9bfd67457883a122714dbd862299f6a8325b4326
More information about the pld-cvs-commit
mailing list