candidate->c_fid = fid;
candidate->c_size = attr->loa_size;
- candidate->c_atime_ms = attr->loa_atime_ms;
+ candidate->c_atime_ms = (attr->loa_atime_ms > attr->loa_mtime_ms) ?
+ attr->loa_atime_ms : attr->loa_mtime_ms;
strcpy(candidate->c_path, path);
return candidate;
{
int rc;
struct stat statbuf;
- uint64_t atime_ms;
+ uint64_t atime_ms, mtime_ms;
/* test log level to save the cost of preparing data */
if (llapi_msg_get_level() >= LLAPI_MSG_DEBUG) {
return rc;
}
atime_ms = statbuf.st_atim.tv_sec * 1000 + statbuf.st_atim.tv_nsec / 1000000;
+ mtime_ms = statbuf.st_mtim.tv_sec * 1000 + statbuf.st_mtim.tv_nsec / 1000000;
+ if (atime_ms < mtime_ms)
+ atime_ms = mtime_ms;
+
if (candidate->c_atime_ms != atime_ms) {
/* skip entirely */
LPCC_PURGE_LOG(LLAPI_MSG_DEBUG,