linux PageCheck may be PageFsMisc
authormatt@linuxbox.com <matt@linuxbox.com>
Tue, 18 May 2010 01:28:56 +0000 (21:28 -0400)
committerDerrick Brashear <shadow@dementia.org>
Tue, 18 May 2010 17:47:20 +0000 (10:47 -0700)
Define the PageCheck family of functions using PageFsMisc
equivalents if those are found.  I encountered a need for this
on Centos 5.5 (2.6.18-8.el5xen), but it may be more general.

Change-Id: I365a769614fd7514e0c0223bf1854cce09f759f7
Reviewed-on: http://gerrit.openafs.org/1982
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

acinclude.m4
src/afs/LINUX/osi_compat.h

index fbafce1..2ba05df 100644 (file)
@@ -810,6 +810,16 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                  AC_CHECK_LINUX_FUNC([bdi_init],
                                     [#include <linux/backing-dev.h>],
                                     [bdi_init(NULL);])
+                 AC_CHECK_LINUX_FUNC([PageChecked],
+                                    [#include <linux/mm.h>
+#include <linux/page-flags.h>],
+                                    [struct page *_page;
+                                      int bchecked = PageChecked(_page);])
+                 AC_CHECK_LINUX_FUNC([PageFsMisc],
+                                    [#include <linux/mm.h>
+#include <linux/page-flags.h>],
+                                    [struct page *_page;
+                                      int bchecked = PageFsMisc(_page);])
                 AC_CHECK_LINUX_FUNC([ctl_table], [ctl_name], [sysctl.h])
                 AC_CHECK_LINUX_FUNC([current_kernel_time],
                                     [#include <linux/time.h>],
index fbeb7e2..c9a2878 100644 (file)
@@ -292,3 +292,13 @@ afs_try_to_freeze(void) {
 }
 #endif
 
+#if !defined(HAVE_LINUX_PAGECHECKED)
+# if defined(HAVE_LINUX_PAGEFSMISC)
+#  include <linux/page-flags.h>
+
+#  define PageChecked(p)            PageFsMisc((p))
+#  define SetPageChecked(p)         SetPageFsMisc((p))
+#  define ClearPageChecked(p)       ClearPageFsMisc((p))
+
+# endif
+#endif