*/
void inode_t::encode(bufferlist &bl) const
{
- ENCODE_START(12, 6, bl);
+ ENCODE_START(13, 6, bl);
::encode(ino, bl);
::encode(rdev, bl);
::encode(stray_prior_path, bl);
+ ::encode(last_scrub_version, bl);
+ ::encode(last_scrub_stamp, bl);
+
ENCODE_FINISH(bl);
}
void inode_t::decode(bufferlist::iterator &p)
{
- DECODE_START_LEGACY_COMPAT_LEN(12, 6, 6, p);
+ DECODE_START_LEGACY_COMPAT_LEN(13, 6, 6, p);
::decode(ino, p);
::decode(rdev, p);
backtrace_version = 0; // force update backtrace
if (struct_v >= 11)
::decode(quota, p);
- if (struct_v >= 12)
+
+ if (struct_v >= 12) {
::decode(stray_prior_path, p);
+ }
+
+ if (struct_v >= 13) {
+ ::decode(last_scrub_version, p);
+ ::decode(last_scrub_stamp, p);
+ }
DECODE_FINISH(p);
}
version_t file_data_version; // auth only
version_t xattr_version;
+ utime_t last_scrub_stamp; // start time of last complete scrub
+ version_t last_scrub_version;// (parent) start version of last complete scrub
+
version_t backtrace_version;
snapid_t oldest_snap;
truncate_seq(0), truncate_size(0), truncate_from(0),
truncate_pending(0),
time_warp_seq(0),
- version(0), file_data_version(0), xattr_version(0), backtrace_version(0) {
+ version(0), file_data_version(0), xattr_version(0),
+ last_scrub_version(0), backtrace_version(0) {
clear_layout();
memset(&dir_layout, 0, sizeof(dir_layout));
memset("a, 0, sizeof(quota));