return -ENOENT;
}
+ uint64_t ImageCtx::get_size() const
+ {
+ return size;
+ }
+
+ uint64_t ImageCtx::get_object_size() const
+ {
+ return 1ull << order;
+ }
+
uint64_t ImageCtx::get_stripe_unit() const
{
return stripe_unit;
return stripe_count;
}
+ uint64_t ImageCtx::get_stripe_period() const
+ {
+ return stripe_count * (1ull << order);
+ }
+
+ uint64_t ImageCtx::get_num_objects() const
+ {
+ uint64_t period = get_stripe_period();
+ uint64_t num_periods = (size + period - 1) / period;
+ return num_periods * stripe_count;
+ }
+
int ImageCtx::is_snap_protected(string in_snap_name, bool *is_protected) const
{
assert(snap_lock.is_locked());
int get_parent_spec(snapid_t snap_id, parent_spec *pspec);
int get_snap_size(std::string in_snap_name, uint64_t *out_size) const;
int is_snap_protected(string in_snap_name, bool *is_protected) const;
+
+ uint64_t get_size() const;
+ uint64_t get_object_size() const;
+ uint64_t get_num_objects() const;
uint64_t get_stripe_unit() const;
uint64_t get_stripe_count() const;
+ uint64_t get_stripe_period() const;
+
void add_snap(std::string in_snap_name, librados::snap_t id,
uint64_t in_size, uint64_t features,
parent_info parent, uint8_t protection_status);