Linux: Fix builds on RHEL4
authorSimon Wilkinson <sxw@inf.ed.ac.uk>
Sat, 6 Mar 2010 11:21:06 +0000 (11:21 +0000)
committerDerrick Brashear <shadow@dementia.org>
Sat, 6 Mar 2010 13:32:52 +0000 (05:32 -0800)
commitb7b0b4dea74e829ce0e36edd87a881a6f11df472
tree03df143dd17403a846aeb75568967b529a1bf342
parent80481fb14ea9301b0f6b3503d07ecaef39aef0d8
Linux: Fix builds on RHEL4

RHEL4 has a very old 2.6 kernel (2.6.9), which predates the start of
the Linux git tree. When I started using page_offset, I mistakenly assumed
that everything in the initial commit to that tree was available in all
2.6 versions we care about. That isn't the case, sadly.

Secondly, the new readpage code uses zero_user_segments, which has only
been available in the mainline kernel since 2.6.25 (RHEL5 appears to have
a backport)

Implement local wrappers for both of these functions when configure can't
find them in the kernel we're building for.

These functions have been created independently of the Linux tree.
page_offset is a copy of the code we used before we replaced it.
zero_user_segments() is a first-principles implementation
of the function (which zeros a pair of memory ranges within a single page)

FIXES 126678

Change-Id: I622aec4d653567d5234e7a127b981e97468bbe7c
Reviewed-on: http://gerrit.openafs.org/1525
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
acinclude.m4
src/afs/LINUX/osi_compat.h
src/cf/linux-test4.m4