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,
1193 static u32 rbd_dev_snap_index(struct rbd_device *rbd_dev, u64 snap_id)
1198 found = bsearch(&snap_id, &snapc->snaps, snapc->num_snaps,
1199 sizeof (snap_id), snapid_compare_reverse);
1205 u64 snap_id)
1210 which = rbd_dev_snap_index(rbd_dev, snap_id);
1218 static const char *rbd_snap_name(struct rbd_device *rbd_dev, u64 snap_id)
1220 if (snap_id == CEPH_NOSNAP)
1225 return rbd_dev_v1_snap_name(rbd_dev, snap_id);
1227 return rbd_dev_v2_snap_name(rbd_dev, snap_id);
1230 static int rbd_snap_size(struct rbd_device *rbd_dev, u64 snap_id,
1234 if (snap_id == CEPH_NOSNAP) {
1239 which = rbd_dev_snap_index(rbd_dev, snap_id);
1248 ret = _rbd_dev_v2_snap_size(rbd_dev, snap_id, NULL, &size);
1259 u64 snap_id = rbd_dev->spec->snap_id;
1263 ret = rbd_snap_size(rbd_dev, snap_id, &size);
1477 osd_req->r_snapid = obj_request->img_request->snap_id;
1665 * Only snap_id is captured here, for reads. For writes, snapshot
1676 img_req->snap_id = rbd_dev->spec->snap_id;
1780 static void rbd_object_map_name(struct rbd_device *rbd_dev, u64 snap_id,
1783 if (snap_id == CEPH_NOSNAP)
1788 rbd_dev->spec->image_id, snap_id);
1913 rbd_object_map_name(rbd_dev, rbd_dev->spec->snap_id, &oid);
2004 * This function needs snap_id (or more precisely just something to
2120 static int rbd_object_map_update(struct rbd_obj_request *obj_req, u64 snap_id,
2130 if (snap_id == CEPH_NOSNAP) {
2145 rbd_object_map_name(rbd_dev, snap_id, &req->r_base_oid);
2150 if (snap_id == CEPH_NOSNAP) {
5233 return sprintf(buf, "%llu\n", rbd_dev->spec->snap_id);
5258 "snap_id %llu\nsnap_name %s\n"
5264 spec->snap_id, spec->snap_name,
5304 static DEVICE_ATTR(snap_id, 0444, rbd_snap_id_show, NULL);
5368 spec->snap_id = CEPH_NOSNAP;
5521 * snap_id is CEPH_NOSNAP, gets this information for the base
5524 static int _rbd_dev_v2_snap_size(struct rbd_device *rbd_dev, u64 snap_id,
5527 __le64 snapid = cpu_to_le64(snap_id);
5550 dout(" snap_id 0x%016llx snap_size = %llu\n",
5551 (unsigned long long)snap_id,
5596 static int _rbd_dev_v2_snap_features(struct rbd_device *rbd_dev, u64 snap_id,
5600 __le64 snap_id;
5610 features_in.snap_id = cpu_to_le64(snap_id);
5632 dout(" snap_id 0x%016llx features = 0x%016llx incompat = 0x%016llx\n",
5633 (unsigned long long)snap_id,
5649 __le64 snapid = cpu_to_le64(rbd_dev->spec->snap_id);
5670 u64 snap_id;
5712 ceph_decode_64_safe(p, end, pii->snap_id, e_inval);
5753 dout("%s pool_id %llu pool_ns %s image_id %s snap_id %llu has_overlap %d overlap %llu\n",
5754 __func__, pii->pool_id, pii->pool_ns, pii->image_id, pii->snap_id,
5790 ceph_decode_64_safe(&p, end, pii->snap_id, e_inval);
5794 dout("%s pool_id %llu pool_ns %s image_id %s snap_id %llu has_overlap %d overlap %llu\n",
5795 __func__, pii->pool_id, pii->pool_ns, pii->image_id, pii->snap_id,
5821 ceph_encode_64(&p, rbd_dev->spec->snap_id);
5869 parent_spec->snap_id = pii.snap_id;
6014 u64 snap_id;
6019 snap_id = snapc->snaps[which];
6020 snap_name = rbd_dev_v2_snap_name(rbd_dev, snap_id);
6031 return found ? snap_id : CEPH_NOSNAP;
6058 u64 snap_id;
6060 snap_id = rbd_snap_id_by_name(rbd_dev, spec->snap_name);
6061 if (snap_id == CEPH_NOSNAP)
6064 spec->snap_id = snap_id;
6066 spec->snap_id = CEPH_NOSNAP;
6089 rbd_assert(spec->snap_id != CEPH_NOSNAP);
6110 snap_name = rbd_snap_name(rbd_dev, spec->snap_id);
6200 u64 snap_id)
6215 snapid = cpu_to_le64(snap_id);
6231 dout(" snap_id 0x%016llx snap_name = %s\n",
6232 (unsigned long long)snap_id, snap_name);
6487 * <mon_addrs> <options> <pool_name> <image_name> [<snap_id>]
6500 * <snap_id>