mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-26 00:21:17 +00:00
libceph: decode into cpu-native ceph_pg type
Always decode data into our cpu-native ceph_pg type that has the correct field widths. Limit any remaining uses of ceph_pg_v1 to dealing with the legacy protocol. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Alex Elder <elder@inktank.com>
This commit is contained in:
parent
12979354a1
commit
5b191d9914
6 changed files with 62 additions and 48 deletions
|
@ -186,7 +186,7 @@ static long ceph_ioctl_get_dataloc(struct file *file, void __user *arg)
|
|||
u64 len = 1, olen;
|
||||
u64 tmp;
|
||||
struct ceph_object_layout ol;
|
||||
struct ceph_pg_v1 pgid;
|
||||
struct ceph_pg pgid;
|
||||
int r;
|
||||
|
||||
/* copy and validate */
|
||||
|
@ -212,7 +212,8 @@ static long ceph_ioctl_get_dataloc(struct file *file, void __user *arg)
|
|||
ceph_calc_object_layout(&ol, dl.object_name, &ci->i_layout,
|
||||
osdc->osdmap);
|
||||
|
||||
pgid = ol.ol_pgid;
|
||||
pgid.pool = le32_to_cpu(ol.ol_pgid.pool);
|
||||
pgid.seed = le16_to_cpu(ol.ol_pgid.ps);
|
||||
dl.osd = ceph_calc_pg_primary(osdc->osdmap, pgid);
|
||||
if (dl.osd >= 0) {
|
||||
struct ceph_entity_addr *a =
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue