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.6.2_pre2^2~164 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=cc63cbbc138f60d6b5964fa859dcd778717b24c2;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 (cherry picked from commit 2b33384a4a7b88842281021129ffccc837d91d36) Reviewed-on: http://gerrit.openafs.org/7578 --- diff --git a/acinclude.m4 b/acinclude.m4 index 45f06cbd9..9085afec2 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 a6be1b3ef..bc951a22b 100644 --- a/src/afs/LINUX/osi_vfsops.c +++ b/src/afs/LINUX/osi_vfsops.c @@ -284,7 +284,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));