nstring name;
object_t(const char *s = 0) : name(s) {}
+ void swap(object_t& o) {
+ name.swap(o.name);
+ }
void encode(bufferlist &bl) const {
::encode(name, bl);
sobject_t() : snap(0) {}
sobject_t(object_t o, snapid_t s) : oid(o), snap(s) {}
+ void swap(sobject_t& o) {
+ oid.swap(o.oid);
+ snapid_t t = snap;
+ snap = o.snap;
+ o.snap = t;
+ }
+
void encode(bufferlist& bl) const {
::encode(oid, bl);
::encode(snap, bl);
ls.resize(inolist.size());
int i = 0;
for (vector< pair<ino_t,sobject_t> >::iterator p = inolist.begin(); p != inolist.end(); p++)
- ls[i++] = p->second;
+ ls[i++].swap(p->second);
dout(10) << "collection_list " << fn << " = 0 (" << ls.size() << " objects)" << dendl;
::closedir(dir);