kernel client
-- fix symbol names for osdmap.h (possibly others?)
- osd client needs to recalculate layout if osdmap changes (pg_num etc may change)
- fix up mds selection, and ESTALE handling
- make cap import/export efficient
struct ceph_pg_pool_info *pool =
&client->osdc.osdmap->pg_pool[i];
seq_printf(s, "pg_pool %d pg_num %d / %d, lpg_num %d / %d",
- i,
- pool->v.pg_num, pool->pg_num_mask,
+ i, pool->v.pg_num, pool->pg_num_mask,
pool->v.lpg_num, pool->lpg_num_mask);
}
for (i = 0; i < client->osdc.osdmap->max_osd; i++) {
reqhead->oid.ino = cpu_to_le64(vino.ino);
reqhead->oid.snap = cpu_to_le64(vino.snap);
- calc_file_object_mapping(layout, off, plen, &reqhead->oid,
- &objoff, &objlen);
+ ceph_calc_file_object_mapping(layout, off, plen, &reqhead->oid,
+ &objoff, &objlen);
if (*plen < orig_len)
dout(10, " skipping last %llu, final file extent %llu~%llu\n",
orig_len - *plen, off, *plen);
req->r_num_pages = calc_pages_for(off, *plen);
/* pgid? */
- err = calc_object_layout(&reqhead->layout, &reqhead->oid, layout,
- osdc->osdmap);
+ err = ceph_calc_object_layout(&reqhead->layout, &reqhead->oid, layout,
+ osdc->osdmap);
dout(10, "calc_layout %llx.%08x %llu~%llu pgid %llx (%d pages)\n",
le64_to_cpu(reqhead->oid.ino), le32_to_cpu(reqhead->oid.bno),
goto bad;
}
if (newmap != osdc->osdmap) {
- osdmap_destroy(osdc->osdmap);
+ ceph_osdmap_destroy(osdc->osdmap);
osdc->osdmap = newmap;
}
} else {
oldmap = osdc->osdmap;
osdc->osdmap = newmap;
if (oldmap)
- osdmap_destroy(oldmap);
+ ceph_osdmap_destroy(oldmap);
}
p += maplen;
nr_maps--;
{
cancel_delayed_work_sync(&osdc->timeout_work);
if (osdc->osdmap) {
- osdmap_destroy(osdc->osdmap);
+ ceph_osdmap_destroy(osdc->osdmap);
osdc->osdmap = NULL;
}
}
/*
* osd map
*/
-void osdmap_destroy(struct ceph_osdmap *map)
+void ceph_osdmap_destroy(struct ceph_osdmap *map)
{
dout(10, "osdmap_destroy %p\n", map);
if (map->crush)
bad:
dout(30, "osdmap_decode fail\n");
- osdmap_destroy(map);
+ ceph_osdmap_destroy(map);
return ERR_PTR(err);
}
* for now, we write only a single su, until we can
* pass a stride back to the caller.
*/
-void calc_file_object_mapping(struct ceph_file_layout *layout,
- u64 off, u64 *plen,
- struct ceph_object *oid,
- u64 *oxoff, u64 *oxlen)
+void ceph_calc_file_object_mapping(struct ceph_file_layout *layout,
+ u64 off, u64 *plen,
+ struct ceph_object *oid,
+ u64 *oxoff, u64 *oxlen)
{
u32 osize = le32_to_cpu(layout->fl_object_size);
u32 su = le32_to_cpu(layout->fl_stripe_unit);
* calculate an object layout (i.e. pgid) from an oid,
* file_layout, and osdmap
*/
-int calc_object_layout(struct ceph_object_layout *ol,
- struct ceph_object *oid,
- struct ceph_file_layout *fl,
- struct ceph_osdmap *osdmap)
+int ceph_calc_object_layout(struct ceph_object_layout *ol,
+ struct ceph_object *oid,
+ struct ceph_file_layout *fl,
+ struct ceph_osdmap *osdmap)
{
unsigned num, num_mask;
union ceph_pg pgid;
extern struct ceph_osdmap *apply_incremental(void **p, void *end,
struct ceph_osdmap *map,
struct ceph_messenger *msgr);
-extern void osdmap_destroy(struct ceph_osdmap *map);
+extern void ceph_osdmap_destroy(struct ceph_osdmap *map);
/* calculate mapping of a file extent to an object */
-extern void calc_file_object_mapping(struct ceph_file_layout *layout,
- u64 off, u64 *plen,
- struct ceph_object *oid,
- u64 *oxoff, u64 *oxlen);
+extern void ceph_calc_file_object_mapping(struct ceph_file_layout *layout,
+ u64 off, u64 *plen,
+ struct ceph_object *oid,
+ u64 *oxoff, u64 *oxlen);
/* calculate mapping of object to a placement group */
-extern int calc_object_layout(struct ceph_object_layout *ol,
- struct ceph_object *oid,
- struct ceph_file_layout *fl,
- struct ceph_osdmap *osdmap);
+extern int ceph_calc_object_layout(struct ceph_object_layout *ol,
+ struct ceph_object *oid,
+ struct ceph_file_layout *fl,
+ struct ceph_osdmap *osdmap);
#endif