From cc63cbbc138f60d6b5964fa859dcd778717b24c2 Mon Sep 17 00:00:00 2001 From: Marc Dionne Date: Mon, 28 May 2012 21:43:12 -0400 Subject: [PATCH] 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 --- acinclude.m4 | 3 +++ src/afs/LINUX/osi_vfsops.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/acinclude.m4 b/acinclude.m4 index 45f06cb..9085afe 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 a6be1b3..bc951a2 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)); -- 1.9.4