Project

General

Profile

Actions

Bug #41192

closed

mds: atime not being updated persistently

Added by Jeff Layton over 4 years ago. Updated almost 2 years ago.

Status:
Won't Fix
Priority:
Normal
Assignee:
Category:
Correctness/Safety
Target version:
-
% Done:

0%

Source:
Development
Tags:
Backport:
nautilus,mimic
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
MDS
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

xfstest generic/192 fails with kcephfs. It basically:

mounts the fs
creates a file and records the atime
waits a few seconds and then reads the file
fetches the atime again
unmounts and remounts the fs
fetches the atime again and does some comparison

What I see happening is that the atime changes after the read as expected, but after the mount and remount cycle, it's back to its original value.

While I have not been able to confirm it yet, I suspect that this is an MDS bug. _update_cap_fields() does this:

    if ((dirty & CEPH_CAP_FILE_EXCL) && atime != pi->atime) {
      dout(7) << "  atime " << pi->atime << " -> " << atime
              << " for " << *in << dendl;
      pi->atime = atime;
    }

It seems like that shouldn't depend on Fx caps, but also Fr?

Actions

Also available in: Atom PDF