]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Linux 3.4: replace end_writeback with clear_inode
authorMarc Dionne <marc.c.dionne@gmail.com>
Tue, 29 May 2012 01:43:12 +0000 (21:43 -0400)
committerDerrick Brashear <shadow@dementix.org>
Thu, 21 Jun 2012 12:47:53 +0000 (05:47 -0700)
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 <shadow@dementix.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit 2b33384a4a7b88842281021129ffccc837d91d36)
Reviewed-on: http://gerrit.openafs.org/7578

acinclude.m4
src/afs/LINUX/osi_vfsops.c

index 45f06cbd93a6b6af066da05d8c54ae4f30add595..9085afec244d5ab485ba737d77c1d959d15e5a75 100644 (file)
@@ -840,6 +840,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
 #include <linux/page-flags.h>],
                                     [struct page *_page;
                                       int bchecked = PageFsMisc(_page);])
+                AC_CHECK_LINUX_FUNC([clear_inode],
+                                    [#include <linux/fs.h>],
+                                    [clear_inode(NULL);])
                 AC_CHECK_LINUX_FUNC([current_kernel_time],
                                     [#include <linux/time.h>],
                                     [struct timespec s;
index a6be1b3eff9d4164298f64fd32fcce708b56c68a..bc951a22bc7d85b836c4ccf2a478f0d07453bbb5 100644 (file)
@@ -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));