]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: propagate inode rstat if it has never been propagated
authorYan, Zheng <zheng.z.yan@intel.com>
Sun, 11 May 2014 05:28:51 +0000 (13:28 +0800)
committerYan, Zheng <zheng.z.yan@intel.com>
Mon, 12 May 2014 03:14:51 +0000 (11:14 +0800)
Otherwise the 'last_dirstat_prop' of directory inode keeps in 'never'
state.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
src/mds/MDCache.cc

index 1da8ee76beaf868f6d9b4a995dfb3b017b3728e3..fa90e668f7fef26e09368aadc576547500b1d0c1 100644 (file)
@@ -1978,19 +1978,14 @@ void MDCache::predirty_journal_parents(MutationRef mut, EMetaBlob *blob,
     // delay propagating until later?
     if (!stop && !first &&
        g_conf->mds_dirstat_min_interval > 0) {
-      if (pin->last_dirstat_prop.sec() > 0) {
-       double since_last_prop = mut->now - pin->last_dirstat_prop;
-       if (since_last_prop < g_conf->mds_dirstat_min_interval) {
-         dout(10) << "predirty_journal_parents last prop " << since_last_prop
-                  << " < " << g_conf->mds_dirstat_min_interval
-                  << ", stopping" << dendl;
-         stop = true;
-       } else {
-         dout(10) << "predirty_journal_parents last prop " << since_last_prop << " ago, continuing" << dendl;
-       }
-      } else {
-       dout(10) << "predirty_journal_parents last prop never, stopping" << dendl;
+      double since_last_prop = mut->now - pin->last_dirstat_prop;
+      if (since_last_prop < g_conf->mds_dirstat_min_interval) {
+       dout(10) << "predirty_journal_parents last prop " << since_last_prop
+                << " < " << g_conf->mds_dirstat_min_interval
+                << ", stopping" << dendl;
        stop = true;
+      } else {
+       dout(10) << "predirty_journal_parents last prop " << since_last_prop << " ago, continuing" << dendl;
       }
     }