From: Sage Weil Date: Mon, 26 May 2008 20:16:41 +0000 (-0700) Subject: mds: partial accounting during split X-Git-Tag: v0.3~170^2~55 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=acb3828d43ff4e719e5654975165ccb509a12c11;p=ceph.git mds: partial accounting during split --- diff --git a/src/mds/CDir.cc b/src/mds/CDir.cc index 631b4848c74..8ab1a0f9077 100644 --- a/src/mds/CDir.cc +++ b/src/mds/CDir.cc @@ -493,21 +493,23 @@ void CDir::steal_dentry(CDentry *dn) nnull++; else { nitems++; - assert(0); // fixme fix accounting here - /* FIXME if (dn->is_primary()) { - fnode.fragstat.rbytes += dn->get_inode()->inode.accounted_fragstat.rbytes; - fnode.fragstat.rfiles += dn->get_inode()->inode.accounted_fragstat.rfiles; + inode_t *pi = dn->get_inode()->get_projected_inode(); if (dn->get_inode()->is_dir()) fnode.fragstat.nsubdirs++; else fnode.fragstat.nfiles++; + fnode.fragstat.rbytes += pi->accounted_dirstat.rbytes; + fnode.fragstat.rfiles += pi->accounted_dirstat.rfiles; + fnode.fragstat.rsubdirs += pi->accounted_dirstat.rsubdirs; + if (pi->accounted_dirstat.rctime > fnode.fragstat.rctime) + fnode.fragstat.rctime = pi->accounted_dirstat.rctime; } else if (dn->is_remote()) { if (dn->get_remote_d_type() == (S_IFDIR >> 12)) fnode.fragstat.nsubdirs++; else fnode.fragstat.nfiles++; - }*/ + } } nested_auth_pins += dn->auth_pins + dn->nested_auth_pins;