diff options
Diffstat (limited to 'include/linux/ceph/osdmap.h')
| -rw-r--r-- | include/linux/ceph/osdmap.h | 31 | 
1 files changed, 25 insertions, 6 deletions
diff --git a/include/linux/ceph/osdmap.h b/include/linux/ceph/osdmap.h index e37acbe989a..c819190d164 100644 --- a/include/linux/ceph/osdmap.h +++ b/include/linux/ceph/osdmap.h @@ -18,14 +18,31 @@   * The map can be updated either via an incremental map (diff) describing   * the change between two successive epochs, or as a fully encoded map.   */ +struct ceph_pg { +	uint64_t pool; +	uint32_t seed; +}; + +#define CEPH_POOL_FLAG_HASHPSPOOL  1 +  struct ceph_pg_pool_info {  	struct rb_node node; -	int id; -	struct ceph_pg_pool v; -	int pg_num_mask, pgp_num_mask, lpg_num_mask, lpgp_num_mask; +	s64 id; +	u8 type; +	u8 size; +	u8 crush_ruleset; +	u8 object_hash; +	u32 pg_num, pgp_num; +	int pg_num_mask, pgp_num_mask; +	u64 flags;  	char *name;  }; +struct ceph_object_locator { +	uint64_t pool; +	char *key; +}; +  struct ceph_pg_mapping {  	struct rb_node node;  	struct ceph_pg pgid; @@ -110,19 +127,21 @@ extern void ceph_osdmap_destroy(struct ceph_osdmap *map);  /* calculate mapping of a file extent to an object */  extern int ceph_calc_file_object_mapping(struct ceph_file_layout *layout, -					 u64 off, u64 *plen, +					 u64 off, u64 len,  					 u64 *bno, u64 *oxoff, u64 *oxlen);  /* calculate mapping of object to a placement group */ -extern int ceph_calc_object_layout(struct ceph_object_layout *ol, +extern int ceph_calc_object_layout(struct ceph_pg *pg,  				   const char *oid,  				   struct ceph_file_layout *fl,  				   struct ceph_osdmap *osdmap); -extern int ceph_calc_pg_acting(struct ceph_osdmap *osdmap, struct ceph_pg pgid, +extern int ceph_calc_pg_acting(struct ceph_osdmap *osdmap, +			       struct ceph_pg pgid,  			       int *acting);  extern int ceph_calc_pg_primary(struct ceph_osdmap *osdmap,  				struct ceph_pg pgid); +extern const char *ceph_pg_pool_name_by_id(struct ceph_osdmap *map, u64 id);  extern int ceph_pg_poolid_by_name(struct ceph_osdmap *map, const char *name);  #endif  |