When dealing with external entities (e.g., remote rgw), use higher precision time
format for object mtime.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
f->dump_int("index_ver", index_ver);
utime_t ut(timestamp);
- ut.gmtime(f->dump_stream("timestamp"));
+ ut.gmtime_nsec(f->dump_stream("timestamp"));
f->open_object_section("ver");
ver.dump(f);
f->close_section();
JSONDecoder::decode_json("VersionId", key.instance, obj);
JSONDecoder::decode_json("IsLatest", is_latest, obj);
string mtime_str;
- JSONDecoder::decode_json("LastModified", mtime_str, obj);
+ JSONDecoder::decode_json("RgwxMtime", mtime_str, obj);
struct tm t;
uint32_t nsec;
f->dump_string("id", entry.id);
f->dump_string("section", entry.section);
f->dump_string("name", entry.name);
- entry.timestamp.gmtime(f->dump_stream("timestamp"));
+ entry.timestamp.gmtime_nsec(f->dump_stream("timestamp"));
try {
RGWMetadataLogData log_data;
f->dump_string("client_id", entry.client_id);
f->dump_string("op_id", entry.op_id);
f->dump_string("object", entry.object);
- entry.timestamp.gmtime(f->dump_stream("timestamp"));
+ entry.timestamp.gmtime_nsec(f->dump_stream("timestamp"));
if (!dump_entry_internal(entry, f)) {
f->dump_int("state", entry.state);
}
}
stringstream s;
utime_t tm = utime_t(*t);
- tm.gmtime(s);
+ tm.gmtime_nsec(s);
headers[header_name] = s.str();
}
s->formatter->dump_int("VersionedEpoch", iter->versioned_epoch);
}
s->formatter->dump_string("RgwxTag", iter->tag);
+ utime_t ut(iter->mtime);
+ ut.gmtime_nsec(s->formatter->dump_stream("RgwxMtime"));
}
s->formatter->dump_string("VersionId", version_id);
s->formatter->dump_bool("IsLatest", iter->is_current());