mirror of https://github.com/openzfs/zfs.git
Tear down and flush the mmap region
The inode eviction should unmap the pages associated with the inode. These pages should also be flushed to disk to avoid the data loss. Therefore, use truncate_setsize() in evict_inode() to release the pagecache. The API truncate_setsize() was added in 2.6.35 kernel. To ensure compatibility with the old kernel, the patch defines its own truncate_setsize function. Signed-off-by: Prasad Joshi <pjoshi@stec-inc.com> Closes #255
This commit is contained in:
parent
560bcf9d14
commit
b312979252
|
@ -79,6 +79,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -67,6 +67,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -67,6 +67,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -67,6 +67,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -67,6 +67,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -67,6 +67,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -67,6 +67,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -67,6 +67,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -67,6 +67,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
dnl #
|
||||||
|
dnl # 2.6.35 API change
|
||||||
|
dnl # Added truncate_setsize() helper function.
|
||||||
|
dnl #
|
||||||
|
AC_DEFUN([ZFS_AC_KERNEL_TRUNCATE_SETSIZE], [
|
||||||
|
ZFS_CHECK_SYMBOL_EXPORT(
|
||||||
|
[truncate_setsize],
|
||||||
|
[mm/truncate.c],
|
||||||
|
[AC_DEFINE(HAVE_TRUNCATE_SETSIZE, 1,
|
||||||
|
[truncate_setsize() is available])],
|
||||||
|
[])
|
||||||
|
])
|
|
@ -37,6 +37,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
|
||||||
ZFS_AC_KERNEL_INSERT_INODE_LOCKED
|
ZFS_AC_KERNEL_INSERT_INODE_LOCKED
|
||||||
ZFS_AC_KERNEL_D_OBTAIN_ALIAS
|
ZFS_AC_KERNEL_D_OBTAIN_ALIAS
|
||||||
ZFS_AC_KERNEL_CHECK_DISK_SIZE_CHANGE
|
ZFS_AC_KERNEL_CHECK_DISK_SIZE_CHANGE
|
||||||
|
ZFS_AC_KERNEL_TRUNCATE_SETSIZE
|
||||||
|
|
||||||
if test "$LINUX_OBJ" != "$LINUX"; then
|
if test "$LINUX_OBJ" != "$LINUX"; then
|
||||||
KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
|
KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
|
||||||
|
|
|
@ -14527,6 +14527,46 @@ _ACEOF
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:$LINENO: checking whether symbol truncate_setsize is exported" >&5
|
||||||
|
$as_echo_n "checking whether symbol truncate_setsize is exported... " >&6; }
|
||||||
|
grep -q -E '[[:space:]]truncate_setsize[[:space:]]' \
|
||||||
|
$LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null
|
||||||
|
rc=$?
|
||||||
|
if test $rc -ne 0; then
|
||||||
|
export=0
|
||||||
|
for file in mm/truncate.c; do
|
||||||
|
grep -q -E "EXPORT_SYMBOL.*(truncate_setsize)" "$LINUX/$file" 2>/dev/null
|
||||||
|
rc=$?
|
||||||
|
if test $rc -eq 0; then
|
||||||
|
export=1
|
||||||
|
break;
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test $export -eq 0; then
|
||||||
|
{ $as_echo "$as_me:$LINENO: result: no" >&5
|
||||||
|
$as_echo "no" >&6; }
|
||||||
|
|
||||||
|
else
|
||||||
|
{ $as_echo "$as_me:$LINENO: result: yes" >&5
|
||||||
|
$as_echo "yes" >&6; }
|
||||||
|
|
||||||
|
cat >>confdefs.h <<\_ACEOF
|
||||||
|
#define HAVE_TRUNCATE_SETSIZE 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
{ $as_echo "$as_me:$LINENO: result: yes" >&5
|
||||||
|
$as_echo "yes" >&6; }
|
||||||
|
|
||||||
|
cat >>confdefs.h <<\_ACEOF
|
||||||
|
#define HAVE_TRUNCATE_SETSIZE 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if test "$LINUX_OBJ" != "$LINUX"; then
|
if test "$LINUX_OBJ" != "$LINUX"; then
|
||||||
KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
|
KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
|
||||||
fi
|
fi
|
||||||
|
@ -18653,6 +18693,46 @@ _ACEOF
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:$LINENO: checking whether symbol truncate_setsize is exported" >&5
|
||||||
|
$as_echo_n "checking whether symbol truncate_setsize is exported... " >&6; }
|
||||||
|
grep -q -E '[[:space:]]truncate_setsize[[:space:]]' \
|
||||||
|
$LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null
|
||||||
|
rc=$?
|
||||||
|
if test $rc -ne 0; then
|
||||||
|
export=0
|
||||||
|
for file in mm/truncate.c; do
|
||||||
|
grep -q -E "EXPORT_SYMBOL.*(truncate_setsize)" "$LINUX/$file" 2>/dev/null
|
||||||
|
rc=$?
|
||||||
|
if test $rc -eq 0; then
|
||||||
|
export=1
|
||||||
|
break;
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test $export -eq 0; then
|
||||||
|
{ $as_echo "$as_me:$LINENO: result: no" >&5
|
||||||
|
$as_echo "no" >&6; }
|
||||||
|
|
||||||
|
else
|
||||||
|
{ $as_echo "$as_me:$LINENO: result: yes" >&5
|
||||||
|
$as_echo "yes" >&6; }
|
||||||
|
|
||||||
|
cat >>confdefs.h <<\_ACEOF
|
||||||
|
#define HAVE_TRUNCATE_SETSIZE 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
{ $as_echo "$as_me:$LINENO: result: yes" >&5
|
||||||
|
$as_echo "yes" >&6; }
|
||||||
|
|
||||||
|
cat >>confdefs.h <<\_ACEOF
|
||||||
|
#define HAVE_TRUNCATE_SETSIZE 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if test "$LINUX_OBJ" != "$LINUX"; then
|
if test "$LINUX_OBJ" != "$LINUX"; then
|
||||||
KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
|
KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -41,4 +41,25 @@ insert_inode_locked(struct inode *ip)
|
||||||
}
|
}
|
||||||
#endif /* HAVE_INSERT_INODE_LOCKED */
|
#endif /* HAVE_INSERT_INODE_LOCKED */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 2.6.35 API change,
|
||||||
|
* Add truncate_setsize() if it is not exported by the Linux kernel.
|
||||||
|
*
|
||||||
|
* Truncate the inode and pages associated with the inode. The pages are
|
||||||
|
* unmapped and removed from cache.
|
||||||
|
*/
|
||||||
|
#ifndef HAVE_TRUNCATE_SETSIZE
|
||||||
|
static inline void
|
||||||
|
truncate_setsize(struct inode *ip, loff_t new)
|
||||||
|
{
|
||||||
|
struct address_space *mapping = ip->i_mapping;
|
||||||
|
|
||||||
|
i_size_write(ip, new);
|
||||||
|
|
||||||
|
unmap_mapping_range(mapping, new + PAGE_SIZE - 1, 0, 1);
|
||||||
|
truncate_inode_pages(mapping, new);
|
||||||
|
unmap_mapping_range(mapping, new + PAGE_SIZE - 1, 0, 1);
|
||||||
|
}
|
||||||
|
#endif /* HAVE_TRUNCATE_SETSIZE */
|
||||||
|
|
||||||
#endif /* _ZFS_VFS_H */
|
#endif /* _ZFS_VFS_H */
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -73,7 +73,7 @@ zpl_inode_destroy(struct inode *ip)
|
||||||
static void
|
static void
|
||||||
zpl_evict_inode(struct inode *ip)
|
zpl_evict_inode(struct inode *ip)
|
||||||
{
|
{
|
||||||
truncate_inode_pages(&ip->i_data, 0);
|
truncate_setsize(ip, 0);
|
||||||
end_writeback(ip);
|
end_writeback(ip);
|
||||||
zfs_inactive(ip);
|
zfs_inactive(ip);
|
||||||
}
|
}
|
||||||
|
@ -89,7 +89,7 @@ zpl_clear_inode(struct inode *ip)
|
||||||
static void
|
static void
|
||||||
zpl_inode_delete(struct inode *ip)
|
zpl_inode_delete(struct inode *ip)
|
||||||
{
|
{
|
||||||
truncate_inode_pages(&ip->i_data, 0);
|
truncate_setsize(ip, 0);
|
||||||
clear_inode(ip);
|
clear_inode(ip);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
||||||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
$(top_srcdir)/config/kernel-rq-for-each_segment.m4 \
|
||||||
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
$(top_srcdir)/config/kernel-rq-is_sync.m4 \
|
||||||
|
$(top_srcdir)/config/kernel-truncate-setsize.m4 \
|
||||||
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
$(top_srcdir)/config/kernel-xattr-handler.m4 \
|
||||||
$(top_srcdir)/config/kernel.m4 \
|
$(top_srcdir)/config/kernel.m4 \
|
||||||
$(top_srcdir)/config/user-arch.m4 \
|
$(top_srcdir)/config/user-arch.m4 \
|
||||||
|
|
|
@ -153,6 +153,9 @@
|
||||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||||
#undef HAVE_SYS_TYPES_H
|
#undef HAVE_SYS_TYPES_H
|
||||||
|
|
||||||
|
/* truncate_setsize() is available */
|
||||||
|
#undef HAVE_TRUNCATE_SETSIZE
|
||||||
|
|
||||||
/* Define to 1 if you have the <unistd.h> header file. */
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
#undef HAVE_UNISTD_H
|
#undef HAVE_UNISTD_H
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue