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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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_D_OBTAIN_ALIAS
|
||||
ZFS_AC_KERNEL_CHECK_DISK_SIZE_CHANGE
|
||||
ZFS_AC_KERNEL_TRUNCATE_SETSIZE
|
||||
|
||||
if test "$LINUX_OBJ" != "$LINUX"; then
|
||||
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
|
||||
KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
|
||||
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
|
||||
KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
|
||||
fi
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||
$(top_srcdir)/config/kernel-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.m4 \
|
||||
$(top_srcdir)/config/user-arch.m4 \
|
||||
|
|
|
@ -41,4 +41,25 @@ insert_inode_locked(struct inode *ip)
|
|||
}
|
||||
#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 */
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||
$(top_srcdir)/config/kernel-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.m4 \
|
||||
$(top_srcdir)/config/user-arch.m4 \
|
||||
|
|
|
@ -73,7 +73,7 @@ zpl_inode_destroy(struct inode *ip)
|
|||
static void
|
||||
zpl_evict_inode(struct inode *ip)
|
||||
{
|
||||
truncate_inode_pages(&ip->i_data, 0);
|
||||
truncate_setsize(ip, 0);
|
||||
end_writeback(ip);
|
||||
zfs_inactive(ip);
|
||||
}
|
||||
|
@ -89,7 +89,7 @@ zpl_clear_inode(struct inode *ip)
|
|||
static void
|
||||
zpl_inode_delete(struct inode *ip)
|
||||
{
|
||||
truncate_inode_pages(&ip->i_data, 0);
|
||||
truncate_setsize(ip, 0);
|
||||
clear_inode(ip);
|
||||
}
|
||||
|
||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-open-bdev-exclusive.m4 \
|
||||
$(top_srcdir)/config/kernel-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.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-rq-for-each_segment.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.m4 \
|
||||
$(top_srcdir)/config/user-arch.m4 \
|
||||
|
|
|
@ -153,6 +153,9 @@
|
|||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* truncate_setsize() is available */
|
||||
#undef HAVE_TRUNCATE_SETSIZE
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
|
|
Loading…
Reference in New Issue