148
148
WRITE_CLASS_ENCODER(lock_bls)
151
map<dirfrag_t, map<string_snap_t, dn_weak> > weak;
151
map<inodeno_t, map<string_snap_t, dn_weak> > weak;
152
set<dirfrag_t> weak_dirfrags;
152
153
set<vinodeno_t> weak_inodes;
153
154
map<inodeno_t, lock_bls> inode_scatterlocks;
231
void add_weak_dirfrag(dirfrag_t df) {
234
void add_weak_dirfrag(dirfrag_t df, map<string_snap_t,dn_weak>& dnmap) {
237
232
void add_strong_dirfrag(dirfrag_t df, int n, int dr) {
238
233
strong_dirfrags[df] = dirfrag_strong(n, dr);
242
void add_weak_dentry(dirfrag_t df, const string& dname, snapid_t last, dn_weak& dnw) {
243
weak[df][string_snap_t(dname, last)] = dnw;
245
void add_weak_primary_dentry(dirfrag_t df, const string& dname, snapid_t first, snapid_t last, inodeno_t ino) {
246
weak[df][string_snap_t(dname, last)] = dn_weak(first, ino);
237
void add_weak_dirfrag(dirfrag_t df) {
238
weak_dirfrags.insert(df);
240
void add_weak_dentry(inodeno_t dirino, const string& dname, snapid_t last, dn_weak& dnw) {
241
weak[dirino][string_snap_t(dname, last)] = dnw;
243
void add_weak_primary_dentry(inodeno_t dirino, const string& dname, snapid_t first, snapid_t last, inodeno_t ino) {
244
weak[dirino][string_snap_t(dname, last)] = dn_weak(first, ino);
248
246
void add_strong_dentry(dirfrag_t df, const string& dname, snapid_t first, snapid_t last, inodeno_t pi, inodeno_t ri, unsigned char rdt, int n, int ls) {
249
247
strong_dentries[df][string_snap_t(dname, last)] = dn_strong(first, pi, ri, rdt, n, ls);
267
265
::encode(cap_export_bl, payload);
268
266
::encode(strong_dirfrags, payload);
269
267
::encode(weak, payload);
268
::encode(weak_dirfrags, payload);
270
269
::encode(weak_inodes, payload);
271
270
::encode(strong_dentries, payload);
272
271
::encode(authpinned_dentries, payload);
290
289
::decode(strong_dirfrags, p);
291
290
::decode(weak, p);
291
::decode(weak_dirfrags, p);
292
292
::decode(weak_inodes, p);
293
293
::decode(strong_dentries, p);
294
294
::decode(authpinned_dentries, p);