>I and Aayush were investigating more on point 3 in previous mail. What we understood that obdfilter was replaced with ofd module in Lustre 2.4.0.

>I found a patch which removes zero copy changes from lustre: https://github.com/rread/lustre/commit/0c69ea9f6d6d044b6463787d5a56b2384bb9663a#diff-622f0cb8b18627484c80ad225d1803de

>As asked before in #1 in previous mail, we could not find on any mailing list any specific reason/known problem for removing this support.


I was the one that removed that patch. The reason being that the patch was against RHEL5 kernels which are no longer supported. This is part of the effort

to create patch less kernels on the server. See LU-20 (https://jira.hpdd.intel.com/browse/LU-20) for details.


>We are working on porting RAID driver zcp changes to kernel wrt Lustre 2.5.0. We are also planning to add and test these removed changes back in lustre 2.5.0 as part of zero copy changes porting in >lustre.  Will it be right to do so? Any suggestion or precaution which we should take while porting these changes?

Please continue your work but I would recommend that you try to push your kernel side changes upstream. For the needed Lustre side changes I would

recommend opening a JIRA ticket and gerrit account if you don’t have one. Please see https://wiki.hpdd.intel.com/display/PUB/Submitting+Changes.


On 4/7/2014 4:50 PM, aayush agrawal wrote:


I got both the errors resolved. Looks like there was some issue with my lustre build process itself.
So I think along with raid5-zerocopy-rhel6.patch, raid5-stats-rhel6.patch was the only additional patch required.


On 3/24/2014 8:40 PM, aayush agrawal wrote:


I wanted to apply zero copy patch on rhel6 so I followed below steps:

  1. Downloaded lustre-2.1.2 and corresponding kernel rpm(linux-2.6.32-220.17.1.el6). The OS I am using is CentOS 6.4.
  2. Applied kernel patches from lustre source code to kernel.
  3. Downloaded a zero copy patch for rhel6 from: https://github.com/Xyratex/lustre-stable/blob/b_neo_1.4.0/lustre/kernel_patches/patches/raid5-zerocopy-rhel6.patch
  4. Applied this patch to above kernel.
  5. Then I tried to compile this kernel  but it gives undefined symbol errors for writes_zcopy and PageConstant.
    1. For writes_zcopy I found another patch on the same git hub link: https://github.com/Xyratex/lustre-stable/blob/b_neo_1.4.0/lustre/kernel_patches/patches/raid5-stats-rhel6.patch.
    2. For PageConstant I couldn't find any patch to rectify this error. Even I do not see usage of PG_Constant/SetPageConstant etc. in raid5-zerocopy-rhel6.patch which I think is essential.
  1. So my questions are:
    1. I think few patches are missing here. As mentioned above one of them would be raid5-stats-rhel6.patch please confirm.
    2. if confirmed, still there has to be at least one patch missing (to include PageConstant use). Are there any other patches to be applied before I apply raid5-stats-rhel6.patch and raid5-zerocopy-rhel6.patch.
    3. I am seeing that this zero copy patch existed in lustre-2.1.2, In lustre/kernel-patches/patches directory for rhel5. But it has been removed in latest lustre 2.5.0. Is there any specific reason to remove it.