This is (currently) the case during replay/resolve, although it's not
clear that it should be.
Signed-off-by: Sage Weil <sage@newdream.net>
bool CInode::get_dirfrags_under(frag_t fg, list<CDir*>& ls)
{
+ bool all = true;
+ for (map<frag_t,CDir*>::iterator p = dirfrags.begin(); p != dirfrags.end(); ++p) {
+ if (fg.contains(p->first))
+ ls.push_back(p->second);
+ else
+ all = false;
+ }
+ /*
list<frag_t> fglist;
dirfragtree.get_leaves_under(fg, fglist);
- bool all = true;
for (list<frag_t>::iterator p = fglist.begin();
p != fglist.end();
++p)
ls.push_back(dirfrags[*p]);
else
all = false;
+ */
return all;
}