Whamcloud - gitweb
LU-4423 libcfs: remove IS_PO2 and __is_po2
[fs/lustre-release.git] / libcfs / libcfs / hash.c
index 61fffb3..228cf0b 100644 (file)
  *   table. Also, user can break the iteration by return 1 in callback.
  */
 #include <linux/seq_file.h>
+#include <linux/log2.h>
 
 #include <libcfs/linux/linux-list.h>
 #include <libcfs/libcfs.h>
@@ -798,12 +799,8 @@ cfs_hash_bd_order(struct cfs_hash_bd *bd1, struct cfs_hash_bd *bd2)
         if (rc == 0) {
                 bd2->bd_bucket = NULL;
 
-        } else if (rc > 0) { /* swab bd1 and bd2 */
-               struct cfs_hash_bd tmp;
-
-                tmp = *bd2;
-                *bd2 = *bd1;
-                *bd1 = tmp;
+       } else if (rc > 0) {
+               swap(*bd1, *bd2); /* swab bd1 and bd2 */
         }
 }
 
@@ -1812,7 +1809,7 @@ cfs_hash_rehash_cancel_locked(struct cfs_hash *hs)
         for (i = 2; cfs_hash_is_rehashing(hs); i++) {
                cfs_hash_unlock(hs, 1);
                /* raise console warning while waiting too long */
-               CDEBUG(IS_PO2(i >> 3) ? D_WARNING : D_INFO,
+               CDEBUG(is_power_of_2(i >> 3) ? D_WARNING : D_INFO,
                       "hash %s is still rehashing, rescheded %d\n",
                       hs->hs_name, i - 1);
                cond_resched();