# Script to cleanup libcfs macros, it runs against the tree at build time.
# Migrate libcfs to emulate Linux kernel APIs.
-# http://jira.whamcloud.com/browse/LU-1346
+# https://jira.whamcloud.com/browse/LU-1346
# Run this script like:
# find libcfs lnet lustre -name "*.[ch]" | grep -v gnilnd |
s/\bCFS_INT_LIMIT\b/INT_LIMIT/g
s/\bCFS_OFFSET_MAX\b/OFFSET_MAX/g
s/\bcfs_flock_t\b/struct file_lock/g
-s/\bcfs_flock_type\b/flock_type/g
-s/\bcfs_flock_set_type\b/flock_set_type/g
-s/\bcfs_flock_pid\b/flock_pid/g
-s/\bcfs_flock_set_pid\b/flock_set_pid/g
-s/\bcfs_flock_start\b/flock_start/g
-s/\bcfs_flock_set_start\b/flock_set_start/g
-s/\bcfs_flock_end\b/flock_end/g
-s/\bcfs_flock_set_end\b/flock_set_end/g
+s/\b[cfs_]*flock_type(\([^)]*\))\b/\1->fl_type/g
+s/\b[cfs_]*flock_set_type(\([^,]*\), \([^)]*\))\b/\1->fl_type = \2/g
+s/\b[cfs_]*flock_pid(\([^)]*\))\b/\1->fl_pid/g
+s/\b[cfs_]*flock_set_pid(\([^,]*\), \([^)]*\))\b/\1->fl_pid = \2/g
+s/\b[cfs_]*flock_start(\([^)]*\))\b/\1->fl_start/g
+s/\b[cfs_]*flock_set_start(\([^,]*\), \([^)]*\))\b/\1->fl_start = \2/g
+s/\b[cfs_]*flock_end(\([^)]*\))\b/\1->fl_end/g
+s/\b[cfs_]*flock_set_end(\([^,]*\), \([^)]*\))\b/\1->fl_end = \2/g
s/\bcfs_user_write\b/user_write/g
-s/\bCFS_IFSHIFT\b/IFSHIFT/g
-s/\bCFS_IFTODT\b/IFTODT/g
-s/\bCFS_DTTOIF\b/DTTOIF/g
################################################################################
# memory operations
s/\bcfs_get_random_bytes_prim\b/get_random_bytes/g
/#[ \t]*define[ \t]*\bget_random_bytes\b *( *\w* *, *\w* *)[ \t]*\bget_random_bytes\b *( *\w* *, *\w* *)/d
-# atomic
-s/\bcfs_atomic_t\b/atomic_t/g
-/typedef[ \t]*\batomic_t\b[ \t]*\batomic_t\b/d
-s/\bcfs_atomic_read\b/atomic_read/g
-/#[ \t]*define[ \t]*\batomic_read\b *( *\w* *)[ \t]*\batomic_read\b *( *\w* *)/d
-s/\bcfs_atomic_add_unless\b/atomic_add_unless/g
-s/\bcfs_atomic_cmpxchg\b/atomic_cmpxchg/g
-s/\bcfs_atomic_inc\b/atomic_inc/g
-/#[ \t]*define[ \t]*\batomic_inc\b *( *\w* *)[ \t]*\batomic_inc\b *( *\w* *)/d
-s/\bcfs_atomic_inc_and_test\b/atomic_inc_and_test/g
-/#[ \t]*define[ \t]*\batomic_inc_and_test\b *( *\w* *)[ \t]*\batomic_inc_and_test\b *( *\w* *)/d
-s/\bcfs_atomic_inc_return\b/atomic_inc_return/g
-/#[ \t]*define[ \t]*\batomic_inc_return\b *( *\w* *)[ \t]*\batomic_inc_return\b *( *\w* *)/d
-s/\bcfs_atomic_inc_not_zero\b/atomic_inc_not_zero/g
-/#[ \t]*define[ \t]*\batomic_inc_not_zero\b *( *\w* *)[ \t]*\batomic_inc_not_zero\b *( *\w* *)/d
-s/\bcfs_atomic_dec\b/atomic_dec/g
-/#[ \t]*define[ \t]*\batomic_dec\b *( *\w* *)[ \t]*\batomic_dec\b *( *\w* *)/d
-s/\bcfs_atomic_dec_and_test\b/atomic_dec_and_test/g
-/#[ \t]*define[ \t]*\batomic_dec_and_test\b *( *\w* *)[ \t]*\batomic_dec_and_test\b *( *\w* *)/d
-s/\bcfs_atomic_dec_return\b/atomic_dec_return/g
-/#[ \t]*define[ \t]*\batomic_dec_return\b *( *\w* *)[ \t]*\batomic_dec_return\b *( *\w* *)/d
-s/\bcfs_atomic_dec_and_lock\b/atomic_dec_and_lock/g
-/#[ \t]*define[ \t]*\batomic_dec_and_lock\b *( *\w* *, *\w* *)[ \t]*\batomic_dec_and_lock\b *( *\w* *, *\w* *)/d
-s/\bcfs_atomic_set\b/atomic_set/g
-/#[ \t]*define[ \t]*\batomic_set\b *( *\w* *, *\w* *)[ \t]*\batomic_set\b *( *\w* *, *\w* *)/d
-s/\bcfs_atomic_add\b/atomic_add/g
-/#[ \t]*define[ \t]*\batomic_add\b *( *\w* *, *\w* *)[ \t]*\batomic_add\b *( *\w* *, *\w* *)/d
-s/\bcfs_atomic_add_return\b/atomic_add_return/g
-/#[ \t]*define[ \t]*\batomic_add_return\b *( *\w* *, *\w* *)[ \t]*\batomic_add_return\b *( *\w* *, *\w* *)/d
-s/\bcfs_atomic_sub\b/atomic_sub/g
-/#[ \t]*define[ \t]*\batomic_sub\b *( *\w* *, *\w* *)[ \t]*\batomic_sub\b *( *\w* *, *\w* *)/d
-s/\bcfs_atomic_sub_and_test\b/atomic_sub_and_test/g
-/#[ \t]*define[ \t]*\batomic_sub_and_test\b *( *\w* *, *\w* *)[ \t]*\batomic_sub_and_test\b *( *\w* *, *\w* *)/d
-s/\bcfs_atomic_sub_return\b/atomic_sub_return/g
-/#[ \t]*define[ \t]*\batomic_sub_return\b *( *\w* *, *\w* *)[ \t]*\batomic_sub_return\b *( *\w* *, *\w* *)/d
-s/\bCFS_ATOMIC_INIT\b/ATOMIC_INIT/g
-/#[ \t]*define[ \t]*\bATOMIC_INIT\b *( *\w* *)[ \t]*\bATOMIC_INIT\b *( *\w* *)/d
-
################################################################################
-# CFS_CAP_XXX
-s/\bCFS_CAP_CHOWN\b/CAP_CHOWN/g
-/#[ \t]*define[ \t]*\bCAP_CHOWN\b[ \t]*\bCAP_CHOWN\b/d
-s/\bCFS_CAP_DAC_OVERRIDE\b/CAP_DAC_OVERRIDE/g
-/#[ \t]*define[ \t]*\bCAP_DAC_OVERRIDE\b[ \t]*\bCAP_DAC_OVERRIDE\b/d
-s/\bCFS_CAP_DAC_READ_SEARCH\b/CAP_DAC_READ_SEARCH/g
-/#[ \t]*define[ \t]*\bCAP_DAC_READ_SEARCH\b[ \t]*\bCAP_DAC_READ_SEARCH\b/d
-s/\bCFS_CAP_FOWNER\b/CAP_FOWNER/g
-/#[ \t]*define[ \t]*\bCAP_FOWNER\b[ \t]*\bCAP_FOWNER\b/d
-s/\bCFS_CAP_FSETID\b/CAP_FSETID/g
-/#[ \t]*define[ \t]*\bCAP_FSETID\b[ \t]*\bCAP_FSETID\b/d
-s/\bCFS_CAP_LINUX_IMMUTABLE\b/CAP_LINUX_IMMUTABLE/g
-/#[ \t]*define[ \t]*\bCAP_LINUX_IMMUTABLE\b[ \t]*\bCAP_LINUX_IMMUTABLE\b/d
-s/\bCFS_CAP_SYS_ADMIN\b/CAP_SYS_ADMIN/g
-/#[ \t]*define[ \t]*\bCAP_SYS_ADMIN\b[ \t]*\bCAP_SYS_ADMIN\b/d
-s/\bCFS_CAP_SYS_BOOT\b/CAP_SYS_BOOT/g
-/#[ \t]*define[ \t]*\bCAP_SYS_BOOT\b[ \t]*\bCAP_SYS_BOOT\b/d
-s/\bCFS_CAP_SYS_RESOURCE\b/CAP_SYS_RESOURCE/g
-/#[ \t]*define[ \t]*\bCAP_SYS_RESOURCE\b[ \t]*\bCAP_SYS_RESOURCE\b/d
+# list operations
+s/\bcfs_hlist_for_each\b/hlist_for_each/g
+/#[ \t]*define[ \t]*\bhlist_for_each\b *(.*)[ \t]*\bhlist_for_each\b *(.*)/d
+s/\bcfs_hlist_for_each_safe\b/hlist_for_each_safe/g
+/#[ \t]*define[ \t]*\bhlist_for_each_safe\b *(.*)[ \t]*\bhlist_for_each_safe\b *(.*)/d
+s/\bcfs_hlist_for_each_entry_continue\b/hlist_for_each_entry_continue/g
+/#[ \t]*define[ \t]*\bhlist_for_each_entry_continue\b *(.*)[ \t]*\bhlist_for_each_entry_continue\b *(.*)/d
+s/\bcfs_hlist_for_each_entry_from\b/hlist_for_each_entry_from/g
+/#[ \t]*define[ \t]*\bhlist_for_each_entry_from\b *(.*)[ \t]*\bhlist_for_each_entry_from\b *(.*)/d