page_pools.epp_st_grows++;
npools = npages_to_npools(npages);
- OBD_ALLOC(pools, npools * sizeof(*pools));
+ OBD_ALLOC_PTR_ARRAY(pools, npools);
if (pools == NULL)
goto out;
out_pools:
enc_pools_cleanup(pools, npools);
- OBD_FREE(pools, npools * sizeof(*pools));
+ OBD_FREE_PTR_ARRAY(pools, npools);
out:
if (rc) {
page_pools.epp_st_grow_fails++;
LASSERT(desc->bd_iov_count <= page_pools.epp_max_pages);
/* resent bulk, enc iov might have been allocated previously */
- if (GET_ENC_KIOV(desc) != NULL)
+ if (desc->bd_enc_vec != NULL)
return 0;
- OBD_ALLOC_LARGE(GET_ENC_KIOV(desc),
- desc->bd_iov_count * sizeof(*GET_ENC_KIOV(desc)));
- if (GET_ENC_KIOV(desc) == NULL)
+ OBD_ALLOC_LARGE(desc->bd_enc_vec,
+ desc->bd_iov_count * sizeof(*desc->bd_enc_vec));
+ if (desc->bd_enc_vec == NULL)
return -ENOMEM;
spin_lock(&page_pools.epp_lock);
*/
page_pools.epp_st_outofmem++;
spin_unlock(&page_pools.epp_lock);
- OBD_FREE_LARGE(GET_ENC_KIOV(desc),
+ OBD_FREE_LARGE(desc->bd_enc_vec,
desc->bd_iov_count *
- sizeof(*GET_ENC_KIOV(desc)));
- GET_ENC_KIOV(desc) = NULL;
+ sizeof(*desc->bd_enc_vec));
+ desc->bd_enc_vec = NULL;
return -ENOMEM;
}
}
for (i = 0; i < desc->bd_iov_count; i++) {
LASSERT(page_pools.epp_pools[p_idx][g_idx] != NULL);
- BD_GET_ENC_KIOV(desc, i).kiov_page =
+ desc->bd_enc_vec[i].bv_page =
page_pools.epp_pools[p_idx][g_idx];
page_pools.epp_pools[p_idx][g_idx] = NULL;
int p_idx, g_idx;
int i;
- if (GET_ENC_KIOV(desc) == NULL)
+ if (desc->bd_enc_vec == NULL)
return;
LASSERT(desc->bd_iov_count > 0);
LASSERT(page_pools.epp_pools[p_idx]);
for (i = 0; i < desc->bd_iov_count; i++) {
- LASSERT(BD_GET_ENC_KIOV(desc, i).kiov_page != NULL);
+ LASSERT(desc->bd_enc_vec[i].bv_page);
LASSERT(g_idx != 0 || page_pools.epp_pools[p_idx]);
LASSERT(page_pools.epp_pools[p_idx][g_idx] == NULL);
page_pools.epp_pools[p_idx][g_idx] =
- BD_GET_ENC_KIOV(desc, i).kiov_page;
+ desc->bd_enc_vec[i].bv_page;
if (++g_idx == PAGES_PER_POOL) {
p_idx++;
spin_unlock(&page_pools.epp_lock);
- OBD_FREE_LARGE(GET_ENC_KIOV(desc),
- desc->bd_iov_count * sizeof(*GET_ENC_KIOV(desc)));
- GET_ENC_KIOV(desc) = NULL;
+ OBD_FREE_LARGE(desc->bd_enc_vec,
+ desc->bd_iov_count * sizeof(*desc->bd_enc_vec));
+ desc->bd_enc_vec = NULL;
}
/*
for (i = 0; i < desc->bd_iov_count; i++) {
cfs_crypto_hash_update_page(req,
- BD_GET_KIOV(desc, i).kiov_page,
- BD_GET_KIOV(desc, i).kiov_offset &
+ desc->bd_vec[i].bv_page,
+ desc->bd_vec[i].bv_offset &
~PAGE_MASK,
- BD_GET_KIOV(desc, i).kiov_len);
+ desc->bd_vec[i].bv_len);
}
if (hashsize > buflen) {