Lines Matching defs:pii

5596 static void rbd_parent_info_cleanup(struct parent_image_info *pii)
5598 kfree(pii->pool_ns);
5599 kfree(pii->image_id);
5601 memset(pii, 0, sizeof(*pii));
5605 * The caller is responsible for @pii.
5608 struct parent_image_info *pii)
5619 ceph_decode_64_safe(p, end, pii->pool_id, e_inval);
5620 pii->pool_ns = ceph_extract_encoded_string(p, end, NULL, GFP_KERNEL);
5621 if (IS_ERR(pii->pool_ns)) {
5622 ret = PTR_ERR(pii->pool_ns);
5623 pii->pool_ns = NULL;
5626 pii->image_id = ceph_extract_encoded_string(p, end, NULL, GFP_KERNEL);
5627 if (IS_ERR(pii->image_id)) {
5628 ret = PTR_ERR(pii->image_id);
5629 pii->image_id = NULL;
5632 ceph_decode_64_safe(p, end, pii->snap_id, e_inval);
5642 struct parent_image_info *pii)
5657 ret = decode_parent_image_spec(&p, end, pii);
5669 ceph_decode_8_safe(&p, end, pii->has_overlap, e_inval);
5670 if (pii->has_overlap)
5671 ceph_decode_64_safe(&p, end, pii->overlap, e_inval);
5674 __func__, pii->pool_id, pii->pool_ns, pii->image_id, pii->snap_id,
5675 pii->has_overlap, pii->overlap);
5683 * The caller is responsible for @pii.
5688 struct parent_image_info *pii)
5703 ceph_decode_64_safe(&p, end, pii->pool_id, e_inval);
5704 pii->image_id = ceph_extract_encoded_string(&p, end, NULL, GFP_KERNEL);
5705 if (IS_ERR(pii->image_id)) {
5706 ret = PTR_ERR(pii->image_id);
5707 pii->image_id = NULL;
5710 ceph_decode_64_safe(&p, end, pii->snap_id, e_inval);
5711 pii->has_overlap = true;
5712 ceph_decode_64_safe(&p, end, pii->overlap, e_inval);
5715 __func__, pii->pool_id, pii->pool_ns, pii->image_id, pii->snap_id,
5716 pii->has_overlap, pii->overlap);
5724 struct parent_image_info *pii)
5742 ret = __get_parent_info(rbd_dev, req_page, reply_page, pii);
5745 pii);
5755 struct parent_image_info pii = { 0 };
5762 ret = rbd_dev_v2_parent_info(rbd_dev, &pii);
5766 if (pii.pool_id == CEPH_NOPOOL || !pii.has_overlap)
5772 if (pii.pool_id > (u64)U32_MAX) {
5774 (unsigned long long)pii.pool_id, U32_MAX);
5782 parent_spec->pool_id = pii.pool_id;
5783 if (pii.pool_ns && *pii.pool_ns) {
5784 parent_spec->pool_ns = pii.pool_ns;
5785 pii.pool_ns = NULL;
5787 parent_spec->image_id = pii.image_id;
5788 pii.image_id = NULL;
5789 parent_spec->snap_id = pii.snap_id;
5799 if (!pii.overlap)
5801 rbd_dev->parent_overlap = pii.overlap;
5806 rbd_parent_info_cleanup(&pii);
7008 struct parent_image_info *pii)
7010 if (pii->pool_id == CEPH_NOPOOL || !pii->has_overlap) {
7020 * If !pii.has_overlap, the parent image spec is not
7037 if (!pii->overlap && rbd_dev->parent_overlap)
7040 rbd_dev->parent_overlap = pii->overlap;
7047 struct parent_image_info pii = { 0 };
7061 ret = rbd_dev_v2_parent_info(rbd_dev, &pii);
7069 rbd_dev_update_parent(rbd_dev, &pii);
7073 rbd_parent_info_cleanup(&pii);