[cdwg] Large API change landed, please check your pending patches!

Dilger, Andreas andreas.dilger at intel.com
Fri Jun 28 14:59:44 PDT 2013


On 2013/28/06 1:14 PM, "Drokin, Oleg" <oleg.drokin at intel.com> wrote:

>Hello!
>
> I just landed a large EMC patche that converted a bunch of CFS_
>primitives into standard kernel way of doing things (see below).
> If your patches have any of those, please rebase proactively now.
>
> Thanks.
>
>CFS_PAGE_SIZE, CFS_PAGE_SHIFT, cfs_num_physpages,
>cfs_copy_from_user, cfs_copy_to_user, cfs_page_address,
>cfs_kmap/cfs_kunmap, cfs_get_page, cfs_page_count,
>cfs_page_index, cfs_page_pin, cfs_page_unpin,
>cfs_memory_pressure_get/set/clr, CFS_NUM_CACHEPAGES,
>CFS_ALLOC_XXX flags, cfs_alloc/free, cfs_alloc/free_large,
>cfs_alloc/free_page, CFS_DECL_MMSPACE, CFS_MMSPACE_OPEN,
>CFS_MMSPACE_CLOSE, CFS_SLAB_XXX flags, cfs_shrinker_t,
>cfs_set/remove_shrinker, CFS_DEFAULT_SEEKS, cfs_mem_cache_t,
>cfs_mem_cache_alloc/free/create/destroy, cfs_mem_is_in_cache

Note that there is a sed script contrib/scripts/libcfs_cleanup.sed that
will handle this cleanup automatically for any symbols that have already
been converted.  It can be run on the current branch with the following
commands:


    find libcfs lnet lustre -name "*.[ch]" | grep -v gnilnd |
        xargs sed -i "" -f contrib/scripts/libcfs_cleanup.sed

Any resulting changes can be merged into your top patch with "git commit
--amend -a". This assumes that the affected lines are in the topmost patch
in your branch, otherwise it needs to be run after every patch while doing
"git rebase -i" and "edit" for every patch, otherwise the earlier patches
will not be able to build.

I've also submitted http://review.whamcloud.com/6824 to add a
"libcfs_cleanup" target in the top-level makefile to run the sed script as
above, but it isn't landed yet.


> There are some more coming (reviews 4775 4777 4778 4779) but they are
>not as big. It's still worth seeing if your patches conflict with those
>too as I hope to land those somewhat fast (reviews permitting).

The .sed script above will be updated to handle the changes in those
patches as they are landed, so the same process can be used to update your
patches regardless of where we are in the patch landings.

Cheers, Andreas
-- 
Andreas Dilger

Lustre Software Architect
Intel High Performance Data Division





More information about the cdwg mailing list