#include "MDSRank.h"
#include "MDCache.h"
#include "Locker.h"
+#include "MDBalancer.h"
#include "CInode.h"
#include "CDir.h"
#include "CDentry.h"
}
issue_caps_set(need_issue);
+ utime_t now = ceph_clock_now();
+ mds->balancer->hit_inode(now, in, META_POP_IWR);
+
// auth unpin after issuing caps
mut->cleanup();
}
pi.inode.rstat.rbytes = new_size;
dout(10) << "check_inode_max_size mtime " << pi.inode.mtime << " -> " << new_mtime << dendl;
pi.inode.mtime = new_mtime;
+ if (new_mtime > pi.inode.ctime)
+ pi.inode.ctime = pi.inode.rstat.rctime = new_mtime;
}
// use EOpen if the file is still open; otherwise, use EUpdate.
if (m->get_ctime() > pi->ctime) {
dout(7) << " ctime " << pi->ctime << " -> " << m->get_ctime()
<< " for " << *in << dendl;
- pi->ctime = m->get_ctime();
+ pi->ctime = pi->rstat.rctime = m->get_ctime();
}
if ((features & CEPH_FEATURE_FS_CHANGE_ATTR) &&