OSDN Git Service

bitmap: Add bitmap_zero_extend operation
authorJuan Quintela <quintela@redhat.com>
Tue, 8 Oct 2013 14:12:17 +0000 (16:12 +0200)
committerJuan Quintela <quintela@redhat.com>
Mon, 13 Jan 2014 13:04:54 +0000 (14:04 +0100)
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
include/qemu/bitmap.h

index afdd257..1babd5d 100644 (file)
@@ -220,4 +220,13 @@ unsigned long bitmap_find_next_zero_area(unsigned long *map,
                                          unsigned long nr,
                                          unsigned long align_mask);
 
+static inline unsigned long *bitmap_zero_extend(unsigned long *old,
+                                                long old_nbits, long new_nbits)
+{
+    long new_len = BITS_TO_LONGS(new_nbits) * sizeof(unsigned long);
+    unsigned long *new = g_realloc(old, new_len);
+    bitmap_clear(new, old_nbits, new_nbits - old_nbits);
+    return new;
+}
+
 #endif /* BITMAP_H */