From: Marc Dionne Date: Tue, 29 May 2012 01:43:12 +0000 (-0400) Subject: Linux 3.4: replace end_writeback with clear_inode X-Git-Tag: upstream/1.8.0_pre1^2~2364 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=2b33384a4a7b88842281021129ffccc837d91d36;p=packages%2Fo%2Fopenafs.git Linux 3.4: replace end_writeback with clear_inode end_writeback() is renamed to clear_inode(). Add a configure test and cope. Change-Id: Icaf5b6b54d0ee377fabcf0b295d690eaa6b4be5e Reviewed-on: http://gerrit.openafs.org/7503 Reviewed-by: Derrick Brashear Tested-by: BuildBot --- diff --git a/acinclude.m4 b/acinclude.m4 index 98089313a..b1a6d5d45 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -840,6 +840,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) #include ], [struct page *_page; int bchecked = PageFsMisc(_page);]) + AC_CHECK_LINUX_FUNC([clear_inode], + [#include ], + [clear_inode(NULL);]) AC_CHECK_LINUX_FUNC([current_kernel_time], [#include ], [struct timespec s; diff --git a/src/afs/LINUX/osi_vfsops.c b/src/afs/LINUX/osi_vfsops.c index 9bdc304cf..e6796ab1e 100644 --- a/src/afs/LINUX/osi_vfsops.c +++ b/src/afs/LINUX/osi_vfsops.c @@ -283,7 +283,11 @@ afs_evict_inode(struct inode *ip) osi_Panic("inode freed while still hashed"); truncate_inode_pages(&ip->i_data, 0); +#if defined(HAVE_LINUX_CLEAR_INODE) + clear_inode(ip); +#else end_writeback(ip); +#endif #if !defined(STRUCT_SUPER_OPERATIONS_HAS_ALLOC_INODE) afs_osi_Free(ip->u.generic_ip, sizeof(struct vcache));