* 32 bits (truncated to the upper limit, if needed)
*/
if (ep_ro > 0xffffffffULL)
- rand = prandom_u32_max((u32)(ep_ro >> 32)) << 32;
+ rand = (u64)prandom_u32_max((u32)(ep_ro >> 32)) << 32;
if (rand == (ep_ro & 0xffffffff00000000ULL))
rand |= prandom_u32_max((u32)ep_ro);
* the tgt array and bitmap are allocated/grown dynamically as tgts are
* added to the LOD/LMV, see lu_tgt_descs_add()
*/
- ltd->ltd_tgt_bitmap = CFS_ALLOCATE_BITMAP(BITS_PER_LONG);
+ ltd->ltd_tgt_bitmap = bitmap_zalloc(BITS_PER_LONG, GFP_NOFS);
if (!ltd->ltd_tgt_bitmap)
return -ENOMEM;
{
int i;
- CFS_FREE_BITMAP(ltd->ltd_tgt_bitmap);
+ bitmap_free(ltd->ltd_tgt_bitmap);
for (i = 0; i < TGT_PTRS; i++) {
if (ltd->ltd_tgt_idx[i])
OBD_FREE_PTR(ltd->ltd_tgt_idx[i]);
*/
static int lu_tgt_descs_resize(struct lu_tgt_descs *ltd, __u32 newsize)
{
- struct cfs_bitmap *new_bitmap, *old_bitmap = NULL;
+ unsigned long *new_bitmap, *old_bitmap = NULL;
/* someone else has already resize the array */
if (newsize <= ltd->ltd_tgts_size)
return 0;
- new_bitmap = CFS_ALLOCATE_BITMAP(newsize);
+ new_bitmap = bitmap_zalloc(newsize, GFP_NOFS);
if (!new_bitmap)
return -ENOMEM;
if (ltd->ltd_tgts_size > 0) {
/* the bitmap already exists, copy data from old one */
- cfs_bitmap_copy(new_bitmap, ltd->ltd_tgt_bitmap);
+ bitmap_copy(new_bitmap, ltd->ltd_tgt_bitmap,
+ ltd->ltd_tgts_size);
old_bitmap = ltd->ltd_tgt_bitmap;
}
ltd->ltd_tgts_size = newsize;
ltd->ltd_tgt_bitmap = new_bitmap;
- if (old_bitmap)
- CFS_FREE_BITMAP(old_bitmap);
+ bitmap_free(old_bitmap);
CDEBUG(D_CONFIG, "tgt size: %d\n", ltd->ltd_tgts_size);
rc = lu_tgt_descs_resize(ltd, newsize);
if (rc)
RETURN(rc);
- } else if (cfs_bitmap_check(ltd->ltd_tgt_bitmap, index)) {
+ } else if (test_bit(index, ltd->ltd_tgt_bitmap)) {
RETURN(-EEXIST);
}
}
LTD_TGT(ltd, tgt->ltd_index) = tgt;
- cfs_bitmap_set(ltd->ltd_tgt_bitmap, tgt->ltd_index);
+ set_bit(tgt->ltd_index, ltd->ltd_tgt_bitmap);
ltd->ltd_lov_desc.ld_tgt_count++;
if (tgt->ltd_active)
{
lu_qos_del_tgt(<d->ltd_qos, tgt);
LTD_TGT(ltd, tgt->ltd_index) = NULL;
- cfs_bitmap_clear(ltd->ltd_tgt_bitmap, tgt->ltd_index);
+ clear_bit(tgt->ltd_index, ltd->ltd_tgt_bitmap);
ltd->ltd_lov_desc.ld_tgt_count--;
if (tgt->ltd_active)
ltd->ltd_lov_desc.ld_active_tgt_count--;