[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL v2 03/11] hbitmap: move hbitmap_iter_next_word to hbitmap.c
From: |
John Snow |
Subject: |
[PULL v2 03/11] hbitmap: move hbitmap_iter_next_word to hbitmap.c |
Date: |
Wed, 18 Mar 2020 16:23:33 -0400 |
From: Vladimir Sementsov-Ogievskiy <address@hidden>
The function is definitely internal (it's not used by third party and
it has complicated interface). Move it to .c file.
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Reviewed-by: John Snow <address@hidden>
Message-id: address@hidden
Signed-off-by: John Snow <address@hidden>
---
include/qemu/hbitmap.h | 30 ------------------------------
util/hbitmap.c | 29 +++++++++++++++++++++++++++++
2 files changed, 29 insertions(+), 30 deletions(-)
diff --git a/include/qemu/hbitmap.h b/include/qemu/hbitmap.h
index 1bf944ca3d..ab227b117f 100644
--- a/include/qemu/hbitmap.h
+++ b/include/qemu/hbitmap.h
@@ -362,34 +362,4 @@ void hbitmap_free_meta(HBitmap *hb);
*/
int64_t hbitmap_iter_next(HBitmapIter *hbi);
-/**
- * hbitmap_iter_next_word:
- * @hbi: HBitmapIter to operate on.
- * @p_cur: Location where to store the next non-zero word.
- *
- * Return the index of the next nonzero word that is set in @hbi's
- * associated HBitmap, and set *p_cur to the content of that word
- * (bits before the index that was passed to hbitmap_iter_init are
- * trimmed on the first call). Return -1, and set *p_cur to zero,
- * if all remaining words are zero.
- */
-static inline size_t hbitmap_iter_next_word(HBitmapIter *hbi, unsigned long
*p_cur)
-{
- unsigned long cur = hbi->cur[HBITMAP_LEVELS - 1];
-
- if (cur == 0) {
- cur = hbitmap_iter_skip_words(hbi);
- if (cur == 0) {
- *p_cur = 0;
- return -1;
- }
- }
-
- /* The next call will resume work from the next word. */
- hbi->cur[HBITMAP_LEVELS - 1] = 0;
- *p_cur = cur;
- return hbi->pos;
-}
-
-
#endif
diff --git a/util/hbitmap.c b/util/hbitmap.c
index 7f9b3e0cd7..a368dc5ef7 100644
--- a/util/hbitmap.c
+++ b/util/hbitmap.c
@@ -298,6 +298,35 @@ uint64_t hbitmap_count(const HBitmap *hb)
return hb->count << hb->granularity;
}
+/**
+ * hbitmap_iter_next_word:
+ * @hbi: HBitmapIter to operate on.
+ * @p_cur: Location where to store the next non-zero word.
+ *
+ * Return the index of the next nonzero word that is set in @hbi's
+ * associated HBitmap, and set *p_cur to the content of that word
+ * (bits before the index that was passed to hbitmap_iter_init are
+ * trimmed on the first call). Return -1, and set *p_cur to zero,
+ * if all remaining words are zero.
+ */
+static size_t hbitmap_iter_next_word(HBitmapIter *hbi, unsigned long *p_cur)
+{
+ unsigned long cur = hbi->cur[HBITMAP_LEVELS - 1];
+
+ if (cur == 0) {
+ cur = hbitmap_iter_skip_words(hbi);
+ if (cur == 0) {
+ *p_cur = 0;
+ return -1;
+ }
+ }
+
+ /* The next call will resume work from the next word. */
+ hbi->cur[HBITMAP_LEVELS - 1] = 0;
+ *p_cur = cur;
+ return hbi->pos;
+}
+
/* Count the number of set bits between start and end, not accounting for
* the granularity. Also an example of how to use hbitmap_iter_next_word.
*/
--
2.21.1
- [PULL v2 00/11] Bitmaps patches, John Snow, 2020/03/18
- [PULL v2 01/11] build: Silence clang warning on older glib autoptr usage, John Snow, 2020/03/18
- [PULL v2 02/11] hbitmap: assert that we don't create bitmap larger than INT64_MAX, John Snow, 2020/03/18
- [PULL v2 03/11] hbitmap: move hbitmap_iter_next_word to hbitmap.c,
John Snow <=
- [PULL v2 04/11] hbitmap: unpublish hbitmap_iter_skip_words, John Snow, 2020/03/18
- [PULL v2 11/11] block/qcow2-bitmap: use bdrv_dirty_bitmap_next_dirty, John Snow, 2020/03/18
- [PULL v2 06/11] block/dirty-bitmap: switch _next_dirty_area and _next_zero to int64_t, John Snow, 2020/03/18
- [PULL v2 10/11] nbd/server: use bdrv_dirty_bitmap_next_dirty_area, John Snow, 2020/03/18
- [PULL v2 09/11] nbd/server: introduce NBDExtentArray, John Snow, 2020/03/18
- [PULL v2 07/11] block/dirty-bitmap: add _next_dirty API, John Snow, 2020/03/18
- [PULL v2 08/11] block/dirty-bitmap: improve _next_dirty_area API, John Snow, 2020/03/18
- [PULL v2 05/11] hbitmap: drop meta bitmaps as they are unused, John Snow, 2020/03/18
- Re: [PULL v2 00/11] Bitmaps patches, Peter Maydell, 2020/03/19