dbitmap
struct dbitmap *dmap = &proc->dmap;
struct dbitmap *dmap = &ref->proc->dmap;
struct dbitmap dmap;
dbitmap_grow(struct dbitmap *dmap, unsigned long *new, unsigned int nbits)
dbitmap_acquire_next_zero_bit(struct dbitmap *dmap, unsigned long offset,
dbitmap_clear_bit(struct dbitmap *dmap, unsigned long bit)
static inline int dbitmap_init(struct dbitmap *dmap)
static inline int dbitmap_enabled(struct dbitmap *dmap)
static inline void dbitmap_free(struct dbitmap *dmap)
static inline unsigned int dbitmap_shrink_nbits(struct dbitmap *dmap)
dbitmap_replace(struct dbitmap *dmap, unsigned long *new, unsigned int nbits)
dbitmap_shrink(struct dbitmap *dmap, unsigned long *new, unsigned int nbits)
static inline unsigned int dbitmap_grow_nbits(struct dbitmap *dmap)
ASSERT(bitmap_weight(&rbio->dbitmap, rbio->stripe_nsectors));
if (!test_bit(sectornr, &rbio->dbitmap))
if (!test_bit(sectornr, &rbio->dbitmap))
set_bit(bit, &rbio->dbitmap);
!test_bit(sector_nr, &rbio->dbitmap))
unsigned long *dbitmap, int stripe_nsectors)
bitmap_copy(&rbio->dbitmap, dbitmap, stripe_nsectors);
if (!test_bit(sectornr, &rbio->dbitmap))
bitmap_clear(&rbio->dbitmap, sector_nr, 1);
bitmap_copy(pbitmap, &rbio->dbitmap, rbio->stripe_nsectors);
for_each_set_bit(sectornr, &rbio->dbitmap, rbio->stripe_nsectors)
for_each_set_bit(sectornr, &rbio->dbitmap, rbio->stripe_nsectors) {
if (!test_bit(sectornr, &rbio->dbitmap))
bitmap_or(&dest->dbitmap, &victim->dbitmap, &dest->dbitmap,
rbio->sector_nsteps, rbio->scrubp, rbio->dbitmap);
bitmap_clear(&rbio->dbitmap, 0, rbio->stripe_nsectors);
unsigned long dbitmap;
unsigned long *dbitmap, int stripe_nsectors);