Re: [PATCH 02/21] ceph: on-wire types

Sage Weil
2009-09-22T18:21:42Z

On Tue, 22 Sep 2009, Joe Perches wrote:

> On Tue, 2009-09-22 at 10:38 -0700, Sage Weil wrote:
> > These headers describe the types used to exchange messages between the
> > Ceph client and various servers. All types are little-endian and
> > packed.
> []
> > diff --git a/fs/ceph/ceph_fs.h b/fs/ceph/ceph_fs.h
> > new file mode 100644
> > index 0000000..15150fc
> > --- /dev/null
> > +++ b/fs/ceph/ceph_fs.h
> []
> > +static inline __u32 frag_make(__u32 b, __u32 v)
> > +{
> > + return (b << 24) |
> > + (v & (0xffffffu << (24-b)) & 0xffffffu);
> > +}
>
> frag_<foo> inlines might have a conflict with ipv6

I'll prefix those with 'ceph_'.

> > +static inline const char *ceph_mds_state_name(int s)
> > +{
> > + switch (s) {
> []
> > + case CEPH_MDS_STATE_STOPPING: return "up:stopping";
> > + default: return "";
> > + }
> > + return NULL;
> > +}
>
> inline?
>
> It's probably better not to use inlines here
> as the strings could be duplicated unnecessarily.

Agreed. They were easier to maintain that way when the constants changed
frequently, but they can be uninlined now.

Thanks!
sage