Lines Matching defs:snap_id

165  * The tuple (pool_id, image_id, snap_id) is sufficient to uniquely
195 u64 snap_id;
337 u64 snap_id; /* for reads */
520 return rbd_dev->spec->snap_id != CEPH_NOSNAP;
638 u64 snap_id);
639 static int _rbd_dev_v2_snap_size(struct rbd_device *rbd_dev, u64 snap_id,
1141 static u32 rbd_dev_snap_index(struct rbd_device *rbd_dev, u64 snap_id)
1146 found = bsearch(&snap_id, &snapc->snaps, snapc->num_snaps,
1147 sizeof (snap_id), snapid_compare_reverse);
1153 u64 snap_id)
1158 which = rbd_dev_snap_index(rbd_dev, snap_id);
1166 static const char *rbd_snap_name(struct rbd_device *rbd_dev, u64 snap_id)
1168 if (snap_id == CEPH_NOSNAP)
1173 return rbd_dev_v1_snap_name(rbd_dev, snap_id);
1175 return rbd_dev_v2_snap_name(rbd_dev, snap_id);
1178 static int rbd_snap_size(struct rbd_device *rbd_dev, u64 snap_id,
1182 if (snap_id == CEPH_NOSNAP) {
1187 which = rbd_dev_snap_index(rbd_dev, snap_id);
1196 ret = _rbd_dev_v2_snap_size(rbd_dev, snap_id, NULL, &size);
1207 u64 snap_id = rbd_dev->spec->snap_id;
1211 ret = rbd_snap_size(rbd_dev, snap_id, &size);
1414 osd_req->r_snapid = obj_request->img_request->snap_id;
1602 * Only snap_id is captured here, for reads. For writes, snapshot
1613 img_req->snap_id = rbd_dev->spec->snap_id;
1717 static void rbd_object_map_name(struct rbd_device *rbd_dev, u64 snap_id,
1720 if (snap_id == CEPH_NOSNAP)
1725 rbd_dev->spec->image_id, snap_id);
1850 rbd_object_map_name(rbd_dev, rbd_dev->spec->snap_id, &oid);
1941 * This function needs snap_id (or more precisely just something to
2057 static int rbd_object_map_update(struct rbd_obj_request *obj_req, u64 snap_id,
2067 if (snap_id == CEPH_NOSNAP) {
2082 rbd_object_map_name(rbd_dev, snap_id, &req->r_base_oid);
2087 if (snap_id == CEPH_NOSNAP) {
5160 return sprintf(buf, "%llu\n", rbd_dev->spec->snap_id);
5185 "snap_id %llu\nsnap_name %s\n"
5191 spec->snap_id, spec->snap_name,
5231 static DEVICE_ATTR(snap_id, 0444, rbd_snap_id_show, NULL);
5295 spec->snap_id = CEPH_NOSNAP;
5448 * snap_id is CEPH_NOSNAP, gets this information for the base
5451 static int _rbd_dev_v2_snap_size(struct rbd_device *rbd_dev, u64 snap_id,
5454 __le64 snapid = cpu_to_le64(snap_id);
5477 dout(" snap_id 0x%016llx snap_size = %llu\n",
5478 (unsigned long long)snap_id,
5523 static int _rbd_dev_v2_snap_features(struct rbd_device *rbd_dev, u64 snap_id,
5527 __le64 snap_id;
5537 features_in.snap_id = cpu_to_le64(snap_id);
5559 dout(" snap_id 0x%016llx features = 0x%016llx incompat = 0x%016llx\n",
5560 (unsigned long long)snap_id,
5576 __le64 snapid = cpu_to_le64(rbd_dev->spec->snap_id);
5597 u64 snap_id;
5639 ceph_decode_64_safe(p, end, pii->snap_id, e_inval);
5680 dout("%s pool_id %llu pool_ns %s image_id %s snap_id %llu has_overlap %d overlap %llu\n",
5681 __func__, pii->pool_id, pii->pool_ns, pii->image_id, pii->snap_id,
5717 ceph_decode_64_safe(&p, end, pii->snap_id, e_inval);
5721 dout("%s pool_id %llu pool_ns %s image_id %s snap_id %llu has_overlap %d overlap %llu\n",
5722 __func__, pii->pool_id, pii->pool_ns, pii->image_id, pii->snap_id,
5748 ceph_encode_64(&p, rbd_dev->spec->snap_id);
5796 parent_spec->snap_id = pii.snap_id;
5941 u64 snap_id;
5946 snap_id = snapc->snaps[which];
5947 snap_name = rbd_dev_v2_snap_name(rbd_dev, snap_id);
5958 return found ? snap_id : CEPH_NOSNAP;
5985 u64 snap_id;
5987 snap_id = rbd_snap_id_by_name(rbd_dev, spec->snap_name);
5988 if (snap_id == CEPH_NOSNAP)
5991 spec->snap_id = snap_id;
5993 spec->snap_id = CEPH_NOSNAP;
6016 rbd_assert(spec->snap_id != CEPH_NOSNAP);
6037 snap_name = rbd_snap_name(rbd_dev, spec->snap_id);
6127 u64 snap_id)
6142 snapid = cpu_to_le64(snap_id);
6158 dout(" snap_id 0x%016llx snap_name = %s\n",
6159 (unsigned long long)snap_id, snap_name);
6414 * <mon_addrs> <options> <pool_name> <image_name> [<snap_id>]
6427 * <snap_id>