Linux 3.5 compat, end_writeback() changed to clear_inode()
The end_writeback() function was changed by moving the call to inode_sync_wait() earlier in to evict(). This effecitvely changes the ordering of the sync but it does not impact the details of the zfs implementation. However, as part of this change end_writeback() was renamed to clear_inode() to reflect the new semantics. This change does impact us and clear_inode() now maps to end_writeback() for kernels prior to 3.5. Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #784
This commit is contained in:
parent
ea1fdf46e2
commit
739a1a82e0
|
@ -87,6 +87,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -67,6 +67,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -67,6 +67,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -67,6 +67,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -67,6 +67,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -67,6 +67,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -67,6 +67,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -67,6 +67,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -67,6 +67,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
dnl #
|
||||
dnl # 3.5.0 API change
|
||||
dnl # torvalds/linux@dbd5768f87ff6fb0a4fe09c4d7b6c4a24de99430 and
|
||||
dnl # torvalds/linux@7994e6f7254354e03028a11f98a27bd67dace9f1 reworked
|
||||
dnl # where inode_sync_wait() is called.
|
||||
dnl #
|
||||
dnl # Prior to these changes it would occur in end_writeback() but due
|
||||
dnl # to various issues (described in the above commits) it has been
|
||||
dnl # moved to evict(). This changes the ordering is which sync occurs
|
||||
dnl # but otherwise doesn't impact the zpl implementation.
|
||||
dnl #
|
||||
dnl # The major impact here is the renaming of end_writeback() to
|
||||
dnl # clear_inode(). However, care must be taken when detecting this
|
||||
dnl # API change because as recently as 2.6.35 there was a clear_inode()
|
||||
dnl # function. However, it was made obsolete by the evict_inode() API
|
||||
dnl # change at the same time.
|
||||
dnl #
|
||||
dnl # Therefore, to ensure we have the correct API we only allow the
|
||||
dnl # clear_inode() compatibility code to be defined iff the evict_inode()
|
||||
dnl # functionality is also detected.
|
||||
dnl #
|
||||
AC_DEFUN([ZFS_AC_KERNEL_CLEAR_INODE], [
|
||||
ZFS_CHECK_SYMBOL_EXPORT(
|
||||
[clear_inode],
|
||||
[fs/inode.c],
|
||||
[AC_DEFINE(HAVE_CLEAR_INODE, 1,
|
||||
[clear_inode() is available])],
|
||||
[])
|
||||
])
|
|
@ -51,6 +51,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
|
|||
ZFS_AC_KERNEL_CREATE_UMODE_T
|
||||
ZFS_AC_KERNEL_AUTOMOUNT
|
||||
ZFS_AC_KERNEL_ENCODE_FH_WITH_INODE
|
||||
ZFS_AC_KERNEL_CLEAR_INODE
|
||||
ZFS_AC_KERNEL_INSERT_INODE_LOCKED
|
||||
ZFS_AC_KERNEL_D_MAKE_ROOT
|
||||
ZFS_AC_KERNEL_D_OBTAIN_ALIAS
|
||||
|
|
|
@ -16410,6 +16410,59 @@ fi
|
|||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:$LINENO: checking whether symbol clear_inode is exported" >&5
|
||||
$as_echo_n "checking whether symbol clear_inode is exported... " >&6; }
|
||||
grep -q -E '[[:space:]]clear_inode[[:space:]]' \
|
||||
$LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null
|
||||
rc=$?
|
||||
if test $rc -ne 0; then
|
||||
|
||||
export=0
|
||||
for file in fs/inode.c; do
|
||||
grep -q -E "EXPORT_SYMBOL.*(clear_inode)" "$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_CLEAR_INODE 1
|
||||
_ACEOF
|
||||
|
||||
|
||||
fi
|
||||
|
||||
|
||||
else
|
||||
|
||||
{ $as_echo "$as_me:$LINENO: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define HAVE_CLEAR_INODE 1
|
||||
_ACEOF
|
||||
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:$LINENO: checking whether symbol insert_inode_locked is exported" >&5
|
||||
$as_echo_n "checking whether symbol insert_inode_locked is exported... " >&6; }
|
||||
grep -q -E '[[:space:]]insert_inode_locked[[:space:]]' \
|
||||
|
@ -23076,6 +23129,59 @@ fi
|
|||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:$LINENO: checking whether symbol clear_inode is exported" >&5
|
||||
$as_echo_n "checking whether symbol clear_inode is exported... " >&6; }
|
||||
grep -q -E '[[:space:]]clear_inode[[:space:]]' \
|
||||
$LINUX_OBJ/$LINUX_SYMBOLS 2>/dev/null
|
||||
rc=$?
|
||||
if test $rc -ne 0; then
|
||||
|
||||
export=0
|
||||
for file in fs/inode.c; do
|
||||
grep -q -E "EXPORT_SYMBOL.*(clear_inode)" "$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_CLEAR_INODE 1
|
||||
_ACEOF
|
||||
|
||||
|
||||
fi
|
||||
|
||||
|
||||
else
|
||||
|
||||
{ $as_echo "$as_me:$LINENO: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define HAVE_CLEAR_INODE 1
|
||||
_ACEOF
|
||||
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:$LINENO: checking whether symbol insert_inode_locked is exported" >&5
|
||||
$as_echo_n "checking whether symbol insert_inode_locked is exported... " >&6; }
|
||||
grep -q -E '[[:space:]]insert_inode_locked[[:space:]]' \
|
||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -121,4 +121,14 @@ typedef umode_t zpl_umode_t;
|
|||
typedef int zpl_umode_t;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* 3.5 API change,
|
||||
* The clear_inode() function replaces end_writeback() and introduces an
|
||||
* ordering change regarding when the inode_sync_wait() occurs. See the
|
||||
* configure check in config/kernel-clear-inode.m4 for full details.
|
||||
*/
|
||||
#if defined(HAVE_EVICT_INODE) && !defined(HAVE_CLEAR_INODE)
|
||||
#define clear_inode(ip) end_writeback(ip)
|
||||
#endif /* HAVE_EVICT_INODE && !HAVE_CLEAR_INODE */
|
||||
|
||||
#endif /* _ZFS_VFS_H */
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -66,6 +66,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -64,10 +64,15 @@ zpl_inode_destroy(struct inode *ip)
|
|||
* This elaborate mechanism was replaced by ->evict_inode() which
|
||||
* does the job of both ->delete_inode() and ->clear_inode(). It
|
||||
* will be called exactly once, and when it returns the inode must
|
||||
* be in a state where it can simply be freed. The ->evict_inode()
|
||||
* callback must minimally truncate the inode pages, and call
|
||||
* end_writeback() to complete all outstanding writeback for the
|
||||
* inode. After this is complete evict inode can cleanup any
|
||||
* be in a state where it can simply be freed.i
|
||||
*
|
||||
* The ->evict_inode() callback must minimally truncate the inode pages,
|
||||
* and call clear_inode(). For 2.6.35 and later kernels this will
|
||||
* simply update the inode state, with the sync occurring before the
|
||||
* truncate in evict(). For earlier kernels clear_inode() maps to
|
||||
* end_writeback() which is responsible for completing all outstanding
|
||||
* write back. In either case, once this is done it is safe to cleanup
|
||||
* any remaining inode specific data via zfs_inactive().
|
||||
* remaining filesystem specific data.
|
||||
*/
|
||||
#ifdef HAVE_EVICT_INODE
|
||||
|
@ -75,7 +80,7 @@ static void
|
|||
zpl_evict_inode(struct inode *ip)
|
||||
{
|
||||
truncate_setsize(ip, 0);
|
||||
end_writeback(ip);
|
||||
clear_inode(ip);
|
||||
zfs_inactive(ip);
|
||||
}
|
||||
|
||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -64,6 +64,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
|||
$(top_srcdir)/config/kernel-blkdev-get-by-path.m4 \
|
||||
$(top_srcdir)/config/kernel-blkdev-get.m4 \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-clear-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-create-umode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-d-make-root.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
|
|
|
@ -105,6 +105,9 @@
|
|||
/* check_disk_size_change() is available */
|
||||
#undef HAVE_CHECK_DISK_SIZE_CHANGE
|
||||
|
||||
/* clear_inode() is available */
|
||||
#undef HAVE_CLEAR_INODE
|
||||
|
||||
/* super_block uses const struct xattr_hander */
|
||||
#undef HAVE_CONST_XATTR_HANDLER
|
||||
|
||||
|
|
Loading…
Reference in New Issue