On Fri, 2 Oct 2009, Andi Kleen wrote: > Sage Weil <sage@xxxxxxxxxxxx> writes: > > +/* > > + * Extract identity, address of the OSD and object storing a given > > + * file offset. > > + */ > > +struct ceph_ioctl_dataloc { > > + __u64 file_offset; /* in+out: file offset */ > > + __u64 object_offset; /* out: offset in object */ > > + __u64 object_no; /* out: object # */ > > + __u64 object_size; /* out: object size */ > > + char object_name[64]; /* out: object name */ > > + __u64 block_offset; /* out: offset in block */ > > + __u64 block_size; /* out: block length */ > > + __s64 osd; /* out: osd # */ > > + struct sockaddr_in osd_addr; /* out: osd address */ > > You'll have to revise that once you support IPv6. At least extend the structure > better now? (_in is too small for IPv6) Yes. I suspect an explicit struct in6_addr osd_addr; __be16 osd_port; makes more sense. Then legacy IPv4 addresses can just be represented as ::ffff:1.2.3.4. That seems like the simplest route? I should similarly update the struct ceph_entity_addr as well (it also embeds a sockaddr_in). And/or embed that struct here. sage -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html