Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-6137

Update timestamps arbitrarily on MDS

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • Lustre 2.8.0
    • Lustre 2.7.0
    • None
    • 3
    • 17106

    Description

      There was a timestamps update policy on MDS: ctime is increasing
      only, which means if the ctime to be updated is behind of current
      inode->i_ctime, then this timestamps update will be rejected.

      This policy sounds not reasonable and it could lead to following
      problems:

      1. If time isn't synced on clients, the file created by the client
      having advanced clock will have advanced ctime, so any operations
      from the client with lagging clock won't be able to update file
      timestamps.

      2. If the client clock is adjusted to a past time, then this client
      won't be able to change timestamps to the already create files.

      3. Server time could be used on inode->i_ctime if the client time
      isn't provided for certain operation from some old version
      client, and if the server time is ahead of client time, we'll
      run into the same problem.

      4. Sometime ldiskfs API may set server time on inode->i_ctime (
      ext4 nomctime patch doesn't cover all cases), and it should be
      overwritten by client time in upper layer (see
      mdt_reint_setxattr()), however, because of the timestamps update
      policy, the overwrite operation could fail if the server time
      is ahead of client time.

      Attachments

        Issue Links

          Activity

            People

              niu Niu Yawei (Inactive)
              niu Niu Yawei (Inactive)
              Votes:
              2 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: