Details
-
Bug
-
Resolution: Won't Fix
-
Minor
-
Lustre 2.1.0, Lustre 2.2.0
-
None
-
RHEL 6.1, 6.2 (possibly earlier), other kernels with cgroups support
-
3
-
6527
Description
Lustre implements its own copy of truncate_complete_page() in lustre_patchless_compat.h to allow the client to build against an unpatched kernel. Unfortunately, of course, this means that lustre can break the kernel if it doesn't keep its copy in sync.
Lustre's copy of truncate_complete_page() is out of date and breaks, at a minimum, linux's cgroup accounting. To work around this problem we have decided to temporarily patch our kernel to have it export truncate_complete_page() and allow Lustre to use the kernel's function.
Obviously the quick-and-dirty fix for Lustre is to add additional autoconf checks and update its copy of truncate_complete_page() and other associated functions. But that whole approach is pretty unsettling.
I would first like to check if there is some other similar function that the kernel exports now that we can start using. Failing that, perhaps we can borrow Brian's trick from ZFS for using a symbol that hasn't been exported.