if (long_name.empty() ||
long_name.compare(1, name.size(), name) ||
long_name.find_last_of("_") != name.size() + 1) {
- char nm[80];
- snprintf(nm, sizeof(nm), "_%s_%llu", name.c_str(), (unsigned long long)ino);
- long_name = nm;
+ std::ostringstream oss;
+ oss << "_" << name << "_" << (unsigned long long)ino;
+ long_name = oss.str();
}
return long_name;
}
void sr_t::encode(bufferlist& bl) const
{
- ENCODE_START(6, 4, bl);
+ ENCODE_START(7, 4, bl);
encode(seq, bl);
encode(created, bl);
encode(last_created, bl);
encode(past_parents, bl);
encode(past_parent_snaps, bl);
encode(flags, bl);
+ encode(last_modified, bl);
+ encode(change_attr, bl);
ENCODE_FINISH(bl);
}
decode(flags, p);
else
flags = 0;
+ if (struct_v >= 7) {
+ decode(last_modified, p);
+ decode(change_attr, p);
+ }
DECODE_FINISH(p);
}
f->dump_unsigned("created", created);
f->dump_unsigned("last_created", last_created);
f->dump_unsigned("last_destroyed", last_destroyed);
+ f->dump_stream("last_modified") << last_modified;
+ f->dump_unsigned("change_attr", change_attr);
f->dump_unsigned("current_parent_since", current_parent_since);
f->open_array_section("snaps");
ls.back()->past_parent_snaps.insert(5);
ls.back()->past_parent_snaps.insert(6);
+ ls.back()->last_modified = utime_t(9, 10);
+ ls.back()->change_attr++;
}