#include "encoding.h"
-WRITE_RAW_ENCODER(ceph_fsid);
-WRITE_RAW_ENCODER(ceph_file_layout);
-WRITE_RAW_ENCODER(ceph_mds_request_head);
-WRITE_RAW_ENCODER(ceph_mds_file_caps);
-WRITE_RAW_ENCODER(ceph_mds_lease);
-WRITE_RAW_ENCODER(ceph_mds_reply_head);
-WRITE_RAW_ENCODER(ceph_mds_reply_inode);
-
-WRITE_RAW_ENCODER(ceph_osd_request_head);
-WRITE_RAW_ENCODER(ceph_osd_reply_head);
+WRITE_RAW_ENCODER(ceph_fsid)
+WRITE_RAW_ENCODER(ceph_file_layout)
+WRITE_RAW_ENCODER(ceph_mds_request_head)
+WRITE_RAW_ENCODER(ceph_mds_file_caps)
+WRITE_RAW_ENCODER(ceph_mds_lease)
+WRITE_RAW_ENCODER(ceph_mds_reply_head)
+WRITE_RAW_ENCODER(ceph_mds_reply_inode)
+
+WRITE_RAW_ENCODER(ceph_osd_request_head)
+WRITE_RAW_ENCODER(ceph_osd_reply_head)
+
+WRITE_RAW_ENCODER(ceph_statfs)
// ----------------------
// some basic types
}
inode:
- InodeStat::_encode(bl, in);
+ InodeStat::encode(bl, in);
lmask = mds->locker->issue_client_lease(in, client, bl, now, session);
numi++;
dout(20) << " trace added " << lmask << " " << *in << dendl;
dout(20) << " trace added " << lmask << " " << *dn << dendl;
// dir
- DirStat::_encode(bl, dn->get_dir(), whoami);
+ DirStat::encode(bl, dn->get_dir(), whoami);
dout(20) << " trace added " << *dn->get_dir() << dendl;
in = dn->get_dir()->get_inode();
// build dir contents
bufferlist dirbl, dnbl;
- DirStat::_encode(dirbl, dir, mds->get_nodeid());
+ DirStat::encode(dirbl, dir, mds->get_nodeid());
__u32 numfiles = 0;
for (CDir::map_t::iterator it = dir->begin();
mds->locker->issue_client_lease(dn, client, dnbl, mdr->now, mdr->session);
// inode
- InodeStat::_encode(dnbl, in);
+ InodeStat::encode(dnbl, in);
mds->locker->issue_client_lease(in, client, dnbl, mdr->now, mdr->session);
numfiles++;
}
void decode_payload() {
- int off = 0;
- ::_decode(h, payload, off);
- ::_decode(dname, payload, off);
+ bufferlist::iterator p = payload.begin();
+ ::decode(h, p);
+ ::decode(dname, p);
}
virtual void encode_payload() {
- ::_encode(h, payload);
- ::_encode(dname, payload);
+ ::encode(h, payload);
+ ::encode(dname, payload);
}
};
class MClientMount : public Message {
public:
MClientMount() : Message(CEPH_MSG_CLIENT_MOUNT) { }
- /*MClientMount(entity_addr_t a, int i = 0) :
- Message(CEPH_MSG_CLIENT_MOUNT),
- addr(a), instance(i) { }
- */
const char *get_type_name() { return "client_mount"; }
- void decode_payload() {
- /*
- int off = 0;
- ::_decode(addr, payload, off);
- ::_decode(instance, payload, off);
- */
- }
- void encode_payload() {
- /*
- ::_encode(addr, payload);
- ::_encode(instance, payload);
- */
- }
+ void decode_payload() { }
+ void encode_payload() { }
};
#endif
};
WRITE_CLASS_ENCODERS(LeaseStat)
-
-
struct DirStat {
// mds distribution hints
frag_t frag;
::decode(dist, p);
}
- static void _encode(bufferlist& bl, CDir *dir, int whoami) {
+ static void encode(bufferlist& bl, CDir *dir, int whoami) {
/*
* note: encoding matches struct ceph_client_reply_dirfrag
*/
::decode(symlink, p);
}
- static void _encode(bufferlist &bl, CInode *in) {
+ static void encode(bufferlist &bl, CInode *in) {
/*
* note: encoding matches struct ceph_client_reply_inode
*/
}
void encode_payload() {
- ::_encode(fsid, payload);
- ::_encode(inst, payload);
- ::_encode(last_epoch_seen, payload);
- ::_encode(state, payload);
- ::_encode(seq, payload);
- ::_encode(want_rank, payload);
+ ::encode(fsid, payload);
+ ::encode(inst, payload);
+ ::encode(last_epoch_seen, payload);
+ ::encode(state, payload);
+ ::encode(seq, payload);
+ ::encode(want_rank, payload);
}
void decode_payload() {
- int off = 0;
- ::_decode(fsid, payload, off);
- ::_decode(inst, payload, off);
- ::_decode(last_epoch_seen, payload, off);
- ::_decode(state, payload, off);
- ::_decode(seq, payload, off);
- ::_decode(want_rank, payload, off);
+ bufferlist::iterator p = payload.begin();
+ ::decode(fsid, p);
+ ::decode(inst, p);
+ ::decode(last_epoch_seen, p);
+ ::decode(state, p);
+ ::decode(seq, p);
+ ::decode(want_rank, p);
}
};
// marshalling
void decode_payload() {
- int off = 0;
- ::_decode(fsid, payload, off);
- ::_decode(epoch, payload, off);
- ::_decode(encoded, payload, off);
+ bufferlist::iterator p = payload.begin();
+ ::decode(fsid, p);
+ ::decode(epoch, p);
+ ::decode(encoded, p);
}
void encode_payload() {
- ::_encode(fsid, payload);
- ::_encode(epoch, payload);
- ::_encode(encoded, payload);
+ ::encode(fsid, payload);
+ ::encode(epoch, payload);
+ ::encode(encoded, payload);
}
};
}
void encode_payload() {
- ::_encode(osd_stat, payload);
- ::_encode(pg_stat, payload);
+ ::encode(osd_stat, payload);
+ ::encode(pg_stat, payload);
}
void decode_payload() {
- int off = 0;
- ::_decode(osd_stat, payload, off);
- ::_decode(pg_stat, payload, off);
+ bufferlist::iterator p = payload.begin();
+ ::decode(osd_stat, p);
+ ::decode(pg_stat, p);
}
};
}
void encode_payload() {
- ::_encode(tid, payload);
+ ::encode(tid, payload);
}
void decode_payload() {
- int off = 0;
- ::_decode(tid, payload, off);
+ bufferlist::iterator p = payload.begin();
+ ::decode(tid, p);
}
};
}
void encode_payload() {
- ::_encode(tid, payload);
- ::_encode(stfs, payload);
+ ::encode(tid, payload);
+ ::encode(stfs, payload);
}
void decode_payload() {
- int off = 0;
- ::_decode(tid, payload, off);
- ::_decode(stfs, payload, off);
+ bufferlist::iterator p = payload.begin();
+ ::decode(tid, p);
+ ::decode(stfs, p);
}
};