osd_data 2088 drivers/block/rbd.c struct ceph_osd_data *osd_data; osd_data 2107 drivers/block/rbd.c osd_data = osd_req_op_data(osd_req, 1, cls, request_data); osd_data 2108 drivers/block/rbd.c rbd_assert(osd_data->type == CEPH_OSD_DATA_TYPE_PAGES); osd_data 2110 drivers/block/rbd.c p = page_address(osd_data->pages[0]); osd_data 263 fs/ceph/addr.c struct ceph_osd_data *osd_data; osd_data 274 fs/ceph/addr.c osd_data = osd_req_op_extent_osd_data(req, 0); osd_data 275 fs/ceph/addr.c BUG_ON(osd_data->type != CEPH_OSD_DATA_TYPE_PAGES); osd_data 276 fs/ceph/addr.c num_pages = calc_pages_for((u64)osd_data->alignment, osd_data 277 fs/ceph/addr.c (u64)osd_data->length); osd_data 279 fs/ceph/addr.c struct page *page = osd_data->pages[i]; osd_data 300 fs/ceph/addr.c kfree(osd_data->pages); osd_data 697 fs/ceph/addr.c struct ceph_osd_data *osd_data; osd_data 731 fs/ceph/addr.c osd_data = osd_req_op_extent_osd_data(req, i); osd_data 732 fs/ceph/addr.c BUG_ON(osd_data->type != CEPH_OSD_DATA_TYPE_PAGES); osd_data 733 fs/ceph/addr.c num_pages = calc_pages_for((u64)osd_data->alignment, osd_data 734 fs/ceph/addr.c (u64)osd_data->length); osd_data 737 fs/ceph/addr.c page = osd_data->pages[j]; osd_data 760 fs/ceph/addr.c inode, osd_data->length, rc >= 0 ? num_pages : 0); osd_data 762 fs/ceph/addr.c release_pages(osd_data->pages, num_pages); osd_data 767 fs/ceph/addr.c osd_data = osd_req_op_extent_osd_data(req, 0); osd_data 768 fs/ceph/addr.c if (osd_data->pages_from_pool) osd_data 769 fs/ceph/addr.c mempool_free(osd_data->pages, osd_data 772 fs/ceph/addr.c kfree(osd_data->pages); osd_data 798 fs/ceph/file.c struct ceph_osd_data *osd_data = osd_req_op_extent_osd_data(req, 0); osd_data 800 fs/ceph/file.c BUG_ON(osd_data->type != CEPH_OSD_DATA_TYPE_BVECS); osd_data 801 fs/ceph/file.c BUG_ON(!osd_data->num_bvecs); osd_data 804 fs/ceph/file.c inode, rc, osd_data->bvec_pos.iter.bi_size); osd_data 822 fs/ceph/file.c if (rc >= 0 && osd_data->bvec_pos.iter.bi_size > rc) { osd_data 824 fs/ceph/file.c int zlen = osd_data->bvec_pos.iter.bi_size - rc; osd_data 840 fs/ceph/file.c iov_iter_bvec(&i, READ, osd_data->bvec_pos.bvecs, osd_data 841 fs/ceph/file.c osd_data->num_bvecs, osd_data 842 fs/ceph/file.c osd_data->bvec_pos.iter.bi_size); osd_data 848 fs/ceph/file.c put_bvecs(osd_data->bvec_pos.bvecs, osd_data->num_bvecs, osd_data 100 include/linux/ceph/osd_client.h struct ceph_osd_data osd_data; osd_data 107 include/linux/ceph/osd_client.h struct ceph_osd_data osd_data; osd_data 144 include/linux/ceph/osd_client.h struct ceph_osd_data osd_data; osd_data 123 net/ceph/osd_client.c static void ceph_osd_data_init(struct ceph_osd_data *osd_data) osd_data 125 net/ceph/osd_client.c memset(osd_data, 0, sizeof (*osd_data)); osd_data 126 net/ceph/osd_client.c osd_data->type = CEPH_OSD_DATA_TYPE_NONE; osd_data 132 net/ceph/osd_client.c static void ceph_osd_data_pages_init(struct ceph_osd_data *osd_data, osd_data 136 net/ceph/osd_client.c osd_data->type = CEPH_OSD_DATA_TYPE_PAGES; osd_data 137 net/ceph/osd_client.c osd_data->pages = pages; osd_data 138 net/ceph/osd_client.c osd_data->length = length; osd_data 139 net/ceph/osd_client.c osd_data->alignment = alignment; osd_data 140 net/ceph/osd_client.c osd_data->pages_from_pool = pages_from_pool; osd_data 141 net/ceph/osd_client.c osd_data->own_pages = own_pages; osd_data 147 net/ceph/osd_client.c static void ceph_osd_data_pagelist_init(struct ceph_osd_data *osd_data, osd_data 150 net/ceph/osd_client.c osd_data->type = CEPH_OSD_DATA_TYPE_PAGELIST; osd_data 151 net/ceph/osd_client.c osd_data->pagelist = pagelist; osd_data 155 net/ceph/osd_client.c static void ceph_osd_data_bio_init(struct ceph_osd_data *osd_data, osd_data 159 net/ceph/osd_client.c osd_data->type = CEPH_OSD_DATA_TYPE_BIO; osd_data 160 net/ceph/osd_client.c osd_data->bio_pos = *bio_pos; osd_data 161 net/ceph/osd_client.c osd_data->bio_length = bio_length; osd_data 165 net/ceph/osd_client.c static void ceph_osd_data_bvecs_init(struct ceph_osd_data *osd_data, osd_data 169 net/ceph/osd_client.c osd_data->type = CEPH_OSD_DATA_TYPE_BVECS; osd_data 170 net/ceph/osd_client.c osd_data->bvec_pos = *bvec_pos; osd_data 171 net/ceph/osd_client.c osd_data->num_bvecs = num_bvecs; osd_data 186 net/ceph/osd_client.c return osd_req_op_data(osd_req, which, extent, osd_data); osd_data 195 net/ceph/osd_client.c struct ceph_osd_data *osd_data; osd_data 197 net/ceph/osd_client.c osd_data = osd_req_op_raw_data_in(osd_req, which); osd_data 198 net/ceph/osd_client.c ceph_osd_data_pages_init(osd_data, pages, length, alignment, osd_data 208 net/ceph/osd_client.c struct ceph_osd_data *osd_data; osd_data 210 net/ceph/osd_client.c osd_data = osd_req_op_data(osd_req, which, extent, osd_data); osd_data 211 net/ceph/osd_client.c ceph_osd_data_pages_init(osd_data, pages, length, alignment, osd_data 219 net/ceph/osd_client.c struct ceph_osd_data *osd_data; osd_data 221 net/ceph/osd_client.c osd_data = osd_req_op_data(osd_req, which, extent, osd_data); osd_data 222 net/ceph/osd_client.c ceph_osd_data_pagelist_init(osd_data, pagelist); osd_data 232 net/ceph/osd_client.c struct ceph_osd_data *osd_data; osd_data 234 net/ceph/osd_client.c osd_data = osd_req_op_data(osd_req, which, extent, osd_data); osd_data 235 net/ceph/osd_client.c ceph_osd_data_bio_init(osd_data, bio_pos, bio_length); osd_data 245 net/ceph/osd_client.c struct ceph_osd_data *osd_data; osd_data 251 net/ceph/osd_client.c osd_data = osd_req_op_data(osd_req, which, extent, osd_data); osd_data 252 net/ceph/osd_client.c ceph_osd_data_bvecs_init(osd_data, &it, num_bvecs); osd_data 260 net/ceph/osd_client.c struct ceph_osd_data *osd_data; osd_data 262 net/ceph/osd_client.c osd_data = osd_req_op_data(osd_req, which, extent, osd_data); osd_data 263 net/ceph/osd_client.c ceph_osd_data_bvecs_init(osd_data, bvec_pos, 0); osd_data 271 net/ceph/osd_client.c struct ceph_osd_data *osd_data; osd_data 273 net/ceph/osd_client.c osd_data = osd_req_op_data(osd_req, which, cls, request_info); osd_data 274 net/ceph/osd_client.c ceph_osd_data_pagelist_init(osd_data, pagelist); osd_data 281 net/ceph/osd_client.c struct ceph_osd_data *osd_data; osd_data 283 net/ceph/osd_client.c osd_data = osd_req_op_data(osd_req, which, cls, request_data); osd_data 284 net/ceph/osd_client.c ceph_osd_data_pagelist_init(osd_data, pagelist); osd_data 294 net/ceph/osd_client.c struct ceph_osd_data *osd_data; osd_data 296 net/ceph/osd_client.c osd_data = osd_req_op_data(osd_req, which, cls, request_data); osd_data 297 net/ceph/osd_client.c ceph_osd_data_pages_init(osd_data, pages, length, alignment, osd_data 309 net/ceph/osd_client.c struct ceph_osd_data *osd_data; osd_data 315 net/ceph/osd_client.c osd_data = osd_req_op_data(osd_req, which, cls, request_data); osd_data 316 net/ceph/osd_client.c ceph_osd_data_bvecs_init(osd_data, &it, num_bvecs); osd_data 326 net/ceph/osd_client.c struct ceph_osd_data *osd_data; osd_data 328 net/ceph/osd_client.c osd_data = osd_req_op_data(osd_req, which, cls, response_data); osd_data 329 net/ceph/osd_client.c ceph_osd_data_pages_init(osd_data, pages, length, alignment, osd_data 334 net/ceph/osd_client.c static u64 ceph_osd_data_length(struct ceph_osd_data *osd_data) osd_data 336 net/ceph/osd_client.c switch (osd_data->type) { osd_data 340 net/ceph/osd_client.c return osd_data->length; osd_data 342 net/ceph/osd_client.c return (u64)osd_data->pagelist->length; osd_data 345 net/ceph/osd_client.c return (u64)osd_data->bio_length; osd_data 348 net/ceph/osd_client.c return osd_data->bvec_pos.iter.bi_size; osd_data 350 net/ceph/osd_client.c WARN(true, "unrecognized data type %d\n", (int)osd_data->type); osd_data 355 net/ceph/osd_client.c static void ceph_osd_data_release(struct ceph_osd_data *osd_data) osd_data 357 net/ceph/osd_client.c if (osd_data->type == CEPH_OSD_DATA_TYPE_PAGES && osd_data->own_pages) { osd_data 360 net/ceph/osd_client.c num_pages = calc_pages_for((u64)osd_data->alignment, osd_data 361 net/ceph/osd_client.c (u64)osd_data->length); osd_data 362 net/ceph/osd_client.c ceph_release_page_vector(osd_data->pages, num_pages); osd_data 363 net/ceph/osd_client.c } else if (osd_data->type == CEPH_OSD_DATA_TYPE_PAGELIST) { osd_data 364 net/ceph/osd_client.c ceph_pagelist_release(osd_data->pagelist); osd_data 366 net/ceph/osd_client.c ceph_osd_data_init(osd_data); osd_data 381 net/ceph/osd_client.c ceph_osd_data_release(&op->extent.osd_data); osd_data 390 net/ceph/osd_client.c ceph_osd_data_release(&op->xattr.osd_data); osd_data 406 net/ceph/osd_client.c ceph_osd_data_release(&op->copy_from.osd_data); osd_data 911 net/ceph/osd_client.c ceph_osd_data_pagelist_init(&op->xattr.osd_data, pagelist); osd_data 957 net/ceph/osd_client.c struct ceph_osd_data *osd_data) osd_data 959 net/ceph/osd_client.c u64 length = ceph_osd_data_length(osd_data); osd_data 961 net/ceph/osd_client.c if (osd_data->type == CEPH_OSD_DATA_TYPE_PAGES) { osd_data 964 net/ceph/osd_client.c ceph_msg_data_add_pages(msg, osd_data->pages, osd_data 965 net/ceph/osd_client.c length, osd_data->alignment, false); osd_data 966 net/ceph/osd_client.c } else if (osd_data->type == CEPH_OSD_DATA_TYPE_PAGELIST) { osd_data 968 net/ceph/osd_client.c ceph_msg_data_add_pagelist(msg, osd_data->pagelist); osd_data 970 net/ceph/osd_client.c } else if (osd_data->type == CEPH_OSD_DATA_TYPE_BIO) { osd_data 971 net/ceph/osd_client.c ceph_msg_data_add_bio(msg, &osd_data->bio_pos, length); osd_data 973 net/ceph/osd_client.c } else if (osd_data->type == CEPH_OSD_DATA_TYPE_BVECS) { osd_data 974 net/ceph/osd_client.c ceph_msg_data_add_bvecs(msg, &osd_data->bvec_pos); osd_data 976 net/ceph/osd_client.c BUG_ON(osd_data->type != CEPH_OSD_DATA_TYPE_NONE); osd_data 1956 net/ceph/osd_client.c &op->extent.osd_data); osd_data 1963 net/ceph/osd_client.c &op->xattr.osd_data); osd_data 1971 net/ceph/osd_client.c &op->copy_from.osd_data); osd_data 1981 net/ceph/osd_client.c &op->extent.osd_data); osd_data 2945 net/ceph/osd_client.c struct ceph_osd_data *osd_data = osd_data 2947 net/ceph/osd_client.c void *p = page_address(osd_data->pages[0]); osd_data 2950 net/ceph/osd_client.c osd_data->type != CEPH_OSD_DATA_TYPE_PAGES); osd_data 5340 net/ceph/osd_client.c ceph_osd_data_pages_init(&op->copy_from.osd_data, pages,