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