f->dump_stream("last_scrub_stamp") << last_scrub_stamp;
f->dump_unsigned("last_scrub_version", last_scrub_version);
f->dump_unsigned("remote_ino", remote_ino);
- f->open_array_section("referent_inodes");
- for (const auto &ri : referent_inodes) {
- f->dump_unsigned("referent_inode", ri);
- }
- f->close_section();
}
inline void vinodeno_t::dump(ceph::Formatter *f) const {
JSONDecoder::decode_json("last_scrub_stamp", last_scrub_stamp, obj, true);
JSONDecoder::decode_json("last_scrub_version", last_scrub_version, obj, true);
JSONDecoder::decode_json("remote_ino", remote_ino.val, obj, true);
- JSONDecoder::decode_json("referent_inodes", referent_inodes, obj, true);
}
optmetadata.del_opt(optmetadata_singleton_server_t::kind_t::CHARMAP);
}
- const std::vector<uint64_t>& get_referent_inodes() { return referent_inodes; }
- void add_referent_ino(inodeno_t ref_ino) { referent_inodes.push_back(ref_ino); }
- void remove_referent_ino(inodeno_t ref_ino) {
- referent_inodes.erase(remove(referent_inodes.begin(), referent_inodes.end(), ref_ino), referent_inodes.end());
- }
-
void encode(ceph::buffer::list &bl, uint64_t features) const;
void decode(ceph::buffer::list::const_iterator& bl);
void dump(ceph::Formatter *f) const;
optmetadata_multiton<optmetadata_singleton_server_t,Allocator> optmetadata;
inodeno_t remote_ino = 0; // referent inode - remote inode link
- std::vector<uint64_t> referent_inodes;
private:
bool older_is_consistent(const inode_t &other) const;
encode(optmetadata, bl, features);
encode(remote_ino, bl);
- encode(referent_inodes, bl);
-
ENCODE_FINISH(bl);
}
if (struct_v >= 21) {
decode(remote_ino, p);
- decode(referent_inodes, p);
}
DECODE_FINISH(p);
}
fscrypt_file != other.fscrypt_file ||
fscrypt_last_block != other.fscrypt_last_block ||
optmetadata != other.optmetadata ||
- remote_ino != other.remote_ino ||
- referent_inodes != other.referent_inodes) {
+ remote_ino != other.remote_ino) {
*divergent = true;
}
return 0;