From: Richard Yao Date: Mon, 23 Jul 2012 18:11:25 +0000 (-0700) Subject: Linux 3.5 compat, iops->truncate_range() removed X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=commitdiff_plain;h=ea1fdf46e2d37e9eb048f9add0fb06e77e9ee6e2;p=zfs.git Linux 3.5 compat, iops->truncate_range() removed The vmtruncate_range() support has been removed from the kernel in favor of using the fallocate method in the file_operations table. Signed-off-by: Richard Yao Signed-off-by: Brian Behlendorf Issue #784 --- diff --git a/Makefile.in b/Makefile.in index f47b28a..1b3cf4a 100644 --- a/Makefile.in +++ b/Makefile.in @@ -108,6 +108,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/cmd/Makefile.in b/cmd/Makefile.in index f1bc924..91b580d 100644 --- a/cmd/Makefile.in +++ b/cmd/Makefile.in @@ -85,6 +85,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/cmd/mount_zfs/Makefile.in b/cmd/mount_zfs/Makefile.in index 2c119d3..02ad8bb 100644 --- a/cmd/mount_zfs/Makefile.in +++ b/cmd/mount_zfs/Makefile.in @@ -88,6 +88,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/cmd/vdev_id/Makefile.in b/cmd/vdev_id/Makefile.in index 200c3ed..7022207 100644 --- a/cmd/vdev_id/Makefile.in +++ b/cmd/vdev_id/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/cmd/zdb/Makefile.in b/cmd/zdb/Makefile.in index 0879ca6..6ec74c8 100644 --- a/cmd/zdb/Makefile.in +++ b/cmd/zdb/Makefile.in @@ -88,6 +88,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/cmd/zfs/Makefile.in b/cmd/zfs/Makefile.in index 707771d..7dd2889 100644 --- a/cmd/zfs/Makefile.in +++ b/cmd/zfs/Makefile.in @@ -88,6 +88,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/cmd/zinject/Makefile.in b/cmd/zinject/Makefile.in index 2b1ef7d..de34212 100644 --- a/cmd/zinject/Makefile.in +++ b/cmd/zinject/Makefile.in @@ -88,6 +88,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/cmd/zpios/Makefile.in b/cmd/zpios/Makefile.in index 04b698c..59aa155 100644 --- a/cmd/zpios/Makefile.in +++ b/cmd/zpios/Makefile.in @@ -88,6 +88,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/cmd/zpool/Makefile.in b/cmd/zpool/Makefile.in index ef43eea..320ae0f 100644 --- a/cmd/zpool/Makefile.in +++ b/cmd/zpool/Makefile.in @@ -88,6 +88,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/cmd/zpool_id/Makefile.in b/cmd/zpool_id/Makefile.in index 7722b7b..1ec069e 100644 --- a/cmd/zpool_id/Makefile.in +++ b/cmd/zpool_id/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/cmd/zpool_layout/Makefile.in b/cmd/zpool_layout/Makefile.in index 0985b39..24f1b27 100644 --- a/cmd/zpool_layout/Makefile.in +++ b/cmd/zpool_layout/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/cmd/ztest/Makefile.in b/cmd/ztest/Makefile.in index b55c2dc..06cf365 100644 --- a/cmd/ztest/Makefile.in +++ b/cmd/ztest/Makefile.in @@ -88,6 +88,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/cmd/zvol_id/Makefile.in b/cmd/zvol_id/Makefile.in index 6465352..4c27c87 100644 --- a/cmd/zvol_id/Makefile.in +++ b/cmd/zvol_id/Makefile.in @@ -88,6 +88,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/config/kernel-truncate-range.m4 b/config/kernel-truncate-range.m4 new file mode 100644 index 0000000..da2cb50 --- /dev/null +++ b/config/kernel-truncate-range.m4 @@ -0,0 +1,24 @@ +dnl # +dnl # 3.5.0 API change +dnl # torvalds/linux@17cf28afea2a1112f240a3a2da8af883be024811 removed +dnl # truncate_range(). The file hole punching functionality is now +dnl # provided by fallocate() +dnl # +AC_DEFUN([ZFS_AC_KERNEL_TRUNCATE_RANGE], [ + AC_MSG_CHECKING([whether iops->truncate_range() exists]) + ZFS_LINUX_TRY_COMPILE([ + #include + void truncate_range(struct inode *inode, loff_t start, + loff_t end) { return; } + static struct inode_operations iops __attribute__ ((unused)) = { + .truncate_range = truncate_range, + }; + ],[ + ],[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_INODE_TRUNCATE_RANGE, 1, + [iops->truncate_range() exists]) + ],[ + AC_MSG_RESULT(no) + ]) +]) diff --git a/config/kernel.m4 b/config/kernel.m4 index 7c0b270..55609cd 100644 --- a/config/kernel.m4 +++ b/config/kernel.m4 @@ -47,6 +47,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_TRUNCATE_RANGE ZFS_AC_KERNEL_CREATE_UMODE_T ZFS_AC_KERNEL_AUTOMOUNT ZFS_AC_KERNEL_ENCODE_FH_WITH_INODE diff --git a/configure b/configure index 27d5973..7c6890b 100755 --- a/configure +++ b/configure @@ -16135,6 +16135,75 @@ fi + { $as_echo "$as_me:$LINENO: checking whether iops->truncate_range() exists" >&5 +$as_echo_n "checking whether iops->truncate_range() exists... " >&6; } + + +cat confdefs.h - <<_ACEOF >conftest.c +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + + #include + void truncate_range(struct inode *inode, loff_t start, + loff_t end) { return; } + static struct inode_operations iops __attribute__ ((unused)) = { + .truncate_range = truncate_range, + }; + +int +main (void) +{ + + + ; + return 0; +} + +_ACEOF + + + rm -Rf build && mkdir -p build + echo "obj-m := conftest.o" >build/Makefile + if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_INODE_TRUNCATE_RANGE 1 +_ACEOF + + +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + + + +fi + + rm -Rf build + + + + { $as_echo "$as_me:$LINENO: checking whether iops->create()/mkdir()/mknod() take umode_t" >&5 $as_echo_n "checking whether iops->create()/mkdir()/mknod() take umode_t... " >&6; } @@ -22732,6 +22801,75 @@ fi + { $as_echo "$as_me:$LINENO: checking whether iops->truncate_range() exists" >&5 +$as_echo_n "checking whether iops->truncate_range() exists... " >&6; } + + +cat confdefs.h - <<_ACEOF >conftest.c +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + + #include + void truncate_range(struct inode *inode, loff_t start, + loff_t end) { return; } + static struct inode_operations iops __attribute__ ((unused)) = { + .truncate_range = truncate_range, + }; + +int +main (void) +{ + + + ; + return 0; +} + +_ACEOF + + + rm -Rf build && mkdir -p build + echo "obj-m := conftest.o" >build/Makefile + if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define HAVE_INODE_TRUNCATE_RANGE 1 +_ACEOF + + +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + + + +fi + + rm -Rf build + + + + { $as_echo "$as_me:$LINENO: checking whether iops->create()/mkdir()/mknod() take umode_t" >&5 $as_echo_n "checking whether iops->create()/mkdir()/mknod() take umode_t... " >&6; } diff --git a/dracut/90zfs/Makefile.in b/dracut/90zfs/Makefile.in index e01e98e..9d2d3b0 100644 --- a/dracut/90zfs/Makefile.in +++ b/dracut/90zfs/Makefile.in @@ -86,6 +86,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/dracut/Makefile.in b/dracut/Makefile.in index 9cac920..9e1d6e1 100644 --- a/dracut/Makefile.in +++ b/dracut/Makefile.in @@ -85,6 +85,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/etc/Makefile.in b/etc/Makefile.in index 465d89b..5aa2222 100644 --- a/etc/Makefile.in +++ b/etc/Makefile.in @@ -85,6 +85,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/etc/init.d/Makefile.in b/etc/init.d/Makefile.in index 6bf44b2..f3bf876 100644 --- a/etc/init.d/Makefile.in +++ b/etc/init.d/Makefile.in @@ -86,6 +86,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/etc/zfs/Makefile.in b/etc/zfs/Makefile.in index ac7c6f9..755736b 100644 --- a/etc/zfs/Makefile.in +++ b/etc/zfs/Makefile.in @@ -86,6 +86,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/include/Makefile.in b/include/Makefile.in index a45d5a1..0eae5fb 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/include/linux/Makefile.in b/include/linux/Makefile.in index 94d8ece..f4fe8f6 100644 --- a/include/linux/Makefile.in +++ b/include/linux/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/include/sys/Makefile.in b/include/sys/Makefile.in index 6df0fda..b86bfd8 100644 --- a/include/sys/Makefile.in +++ b/include/sys/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/include/sys/fm/Makefile.in b/include/sys/fm/Makefile.in index 529681e..349f9a5 100644 --- a/include/sys/fm/Makefile.in +++ b/include/sys/fm/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/include/sys/fm/fs/Makefile.in b/include/sys/fm/fs/Makefile.in index 488c15f..810a599 100644 --- a/include/sys/fm/fs/Makefile.in +++ b/include/sys/fm/fs/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/include/sys/fs/Makefile.in b/include/sys/fs/Makefile.in index 0b63457..137f73e 100644 --- a/include/sys/fs/Makefile.in +++ b/include/sys/fs/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/Makefile.in b/lib/Makefile.in index 1382487..9957fbc 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -85,6 +85,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libavl/Makefile.in b/lib/libavl/Makefile.in index a376d73..9e2c622 100644 --- a/lib/libavl/Makefile.in +++ b/lib/libavl/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libefi/Makefile.in b/lib/libefi/Makefile.in index 184bce3..f9dc1ea 100644 --- a/lib/libefi/Makefile.in +++ b/lib/libefi/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libnvpair/Makefile.in b/lib/libnvpair/Makefile.in index 3eb6a18..1a5843c 100644 --- a/lib/libnvpair/Makefile.in +++ b/lib/libnvpair/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libshare/Makefile.in b/lib/libshare/Makefile.in index 226105c..0949b08 100644 --- a/lib/libshare/Makefile.in +++ b/lib/libshare/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libspl/Makefile.in b/lib/libspl/Makefile.in index 75e8673..286ddb3 100644 --- a/lib/libspl/Makefile.in +++ b/lib/libspl/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libspl/asm-generic/Makefile.in b/lib/libspl/asm-generic/Makefile.in index b27a809..c00266d 100644 --- a/lib/libspl/asm-generic/Makefile.in +++ b/lib/libspl/asm-generic/Makefile.in @@ -86,6 +86,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libspl/asm-i386/Makefile.in b/lib/libspl/asm-i386/Makefile.in index 19ed002..3efb3d2 100644 --- a/lib/libspl/asm-i386/Makefile.in +++ b/lib/libspl/asm-i386/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libspl/asm-x86_64/Makefile.in b/lib/libspl/asm-x86_64/Makefile.in index 33d4c72..c0ff596 100644 --- a/lib/libspl/asm-x86_64/Makefile.in +++ b/lib/libspl/asm-x86_64/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libspl/include/Makefile.in b/lib/libspl/include/Makefile.in index 015b034..02c0a0d 100644 --- a/lib/libspl/include/Makefile.in +++ b/lib/libspl/include/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libspl/include/ia32/Makefile.in b/lib/libspl/include/ia32/Makefile.in index 8028675..82e9617 100644 --- a/lib/libspl/include/ia32/Makefile.in +++ b/lib/libspl/include/ia32/Makefile.in @@ -85,6 +85,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libspl/include/ia32/sys/Makefile.in b/lib/libspl/include/ia32/sys/Makefile.in index 484e090..1d73388 100644 --- a/lib/libspl/include/ia32/sys/Makefile.in +++ b/lib/libspl/include/ia32/sys/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libspl/include/rpc/Makefile.in b/lib/libspl/include/rpc/Makefile.in index c115bf4..aca2605 100644 --- a/lib/libspl/include/rpc/Makefile.in +++ b/lib/libspl/include/rpc/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libspl/include/sys/Makefile.in b/lib/libspl/include/sys/Makefile.in index 06665cd..d29cd2f 100644 --- a/lib/libspl/include/sys/Makefile.in +++ b/lib/libspl/include/sys/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libspl/include/sys/dktp/Makefile.in b/lib/libspl/include/sys/dktp/Makefile.in index 7563bfe..787b28b 100644 --- a/lib/libspl/include/sys/dktp/Makefile.in +++ b/lib/libspl/include/sys/dktp/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libspl/include/sys/sysevent/Makefile.in b/lib/libspl/include/sys/sysevent/Makefile.in index 8a2b618..780b9d8 100644 --- a/lib/libspl/include/sys/sysevent/Makefile.in +++ b/lib/libspl/include/sys/sysevent/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libspl/include/util/Makefile.in b/lib/libspl/include/util/Makefile.in index f9ac261..205bfd7 100644 --- a/lib/libspl/include/util/Makefile.in +++ b/lib/libspl/include/util/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libunicode/Makefile.in b/lib/libunicode/Makefile.in index ac2de79..e6cf844 100644 --- a/lib/libunicode/Makefile.in +++ b/lib/libunicode/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libuutil/Makefile.in b/lib/libuutil/Makefile.in index 0421093..c0cf1ff 100644 --- a/lib/libuutil/Makefile.in +++ b/lib/libuutil/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libzfs/Makefile.in b/lib/libzfs/Makefile.in index c53ef88..0bd4d17 100644 --- a/lib/libzfs/Makefile.in +++ b/lib/libzfs/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/lib/libzpool/Makefile.in b/lib/libzpool/Makefile.in index 5ccad59..c57bdfe 100644 --- a/lib/libzpool/Makefile.in +++ b/lib/libzpool/Makefile.in @@ -87,6 +87,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/man/Makefile.in b/man/Makefile.in index 41392a3..10a9daf 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -85,6 +85,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/man/man5/Makefile.in b/man/man5/Makefile.in index fb52aeb..2dc5ba7 100644 --- a/man/man5/Makefile.in +++ b/man/man5/Makefile.in @@ -85,6 +85,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/man/man8/Makefile.in b/man/man8/Makefile.in index 4a4e130..127f840 100644 --- a/man/man8/Makefile.in +++ b/man/man8/Makefile.in @@ -85,6 +85,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/module/zfs/zpl_inode.c b/module/zfs/zpl_inode.c index ea8c309..0dab82c 100644 --- a/module/zfs/zpl_inode.c +++ b/module/zfs/zpl_inode.c @@ -328,6 +328,7 @@ out: return (error); } +#ifdef HAVE_INODE_TRUNCATE_RANGE static void zpl_truncate_range(struct inode* ip, loff_t start, loff_t end) { @@ -354,6 +355,7 @@ zpl_truncate_range(struct inode* ip, loff_t start, loff_t end) crfree(cr); } +#endif /* HAVE_INODE_TRUNCATE_RANGE */ #ifdef HAVE_INODE_FALLOCATE static long @@ -379,7 +381,9 @@ const struct inode_operations zpl_inode_operations = { .getxattr = generic_getxattr, .removexattr = generic_removexattr, .listxattr = zpl_xattr_list, +#ifdef HAVE_INODE_TRUNCATE_RANGE .truncate_range = zpl_truncate_range, +#endif /* HAVE_INODE_TRUNCATE_RANGE */ #ifdef HAVE_INODE_FALLOCATE .fallocate = zpl_fallocate, #endif /* HAVE_INODE_FALLOCATE */ diff --git a/scripts/Makefile.in b/scripts/Makefile.in index 092fb67..4e3e31b 100644 --- a/scripts/Makefile.in +++ b/scripts/Makefile.in @@ -86,6 +86,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/scripts/zpios-profile/Makefile.in b/scripts/zpios-profile/Makefile.in index 3bcac7e..da5dbf1 100644 --- a/scripts/zpios-profile/Makefile.in +++ b/scripts/zpios-profile/Makefile.in @@ -86,6 +86,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/scripts/zpios-test/Makefile.in b/scripts/zpios-test/Makefile.in index 93bfc02..79ed32f 100644 --- a/scripts/zpios-test/Makefile.in +++ b/scripts/zpios-test/Makefile.in @@ -86,6 +86,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/scripts/zpool-config/Makefile.in b/scripts/zpool-config/Makefile.in index 3563966..de63817 100644 --- a/scripts/zpool-config/Makefile.in +++ b/scripts/zpool-config/Makefile.in @@ -86,6 +86,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/scripts/zpool-layout/Makefile.in b/scripts/zpool-layout/Makefile.in index 20047d2..890062e 100644 --- a/scripts/zpool-layout/Makefile.in +++ b/scripts/zpool-layout/Makefile.in @@ -86,6 +86,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/udev/Makefile.in b/udev/Makefile.in index 10ad792..8c4ea1e 100644 --- a/udev/Makefile.in +++ b/udev/Makefile.in @@ -85,6 +85,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/udev/rules.d/Makefile.in b/udev/rules.d/Makefile.in index c01f95c..a700205 100644 --- a/udev/rules.d/Makefile.in +++ b/udev/rules.d/Makefile.in @@ -86,6 +86,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-show-options.m4 \ $(top_srcdir)/config/kernel-shrink.m4 \ + $(top_srcdir)/config/kernel-truncate-range.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ diff --git a/zfs_config.h.in b/zfs_config.h.in index 7aebb8f..a284126 100644 --- a/zfs_config.h.in +++ b/zfs_config.h.in @@ -162,6 +162,9 @@ /* fops->fallocate() exists */ #undef HAVE_INODE_FALLOCATE +/* iops->truncate_range() exists */ +#undef HAVE_INODE_TRUNCATE_RANGE + /* insert_inode_locked() is available */ #undef HAVE_INSERT_INODE_LOCKED