- clean up ll_ interface, now that we have leases!
- clean up client mds session vs mdsmap behavior?
- stop using mds's inode_t?
+- fix readdir vs fragment race by keeping a separate frag pos, and ignoring dentries below it
kernel client
- flush caps on sync, fsync, etc.
- can we use dentry_path(), if it gets merged into mainline?
- io / osd client
- osd ack vs commit handling. hmm!
+- fix readdir vs fragment race by keeping a separate frag pos, and ignoring dentries below it
client
- clean up client mds session vs mdsmap behavior?
- dir frags
- fix replay (dont want dir frozen, pins, etc.?)
- fix accounting
- - block while acquiring the dft dirlock, since we may need to request a scatter?
- make sure non-dirty dirs journal/replay properly
+ - client: fix readdir vs fragment race by keeping a separate frag pos, and ignoring dentries below it
- proper handling of cache expire messages during rejoin phase?
-> i think cache expires are fine; the rejoin_ack handler just has to behave if rejoining items go missing
}
// inode -> dirfrag
+ mut->auth_pin(parent);
mut->add_projected_fnode(parent);
fnode_t *pf = parent->project_fnode();
break;
}
local_wrlock_grab(&pin->versionlock, mut);
- mut->auth_pin(pin);
// dirfrag -> diri
+ mut->auth_pin(pin);
mut->add_projected_inode(pin);
lsi.push_back(pin);