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

Remove correction for bad timestamp

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: Lustre 2.8.0
    • Fix Version/s: Lustre 2.8.0
    • Labels:
    • Severity:
      3
    • Rank (Obsolete):
      16690

      Description

      There was a bug in Lustre 2.1.0 that caused negative timestamps. In Lustre 2.8, tag 2.7.53 and above, code to correct for bad timestamps in Lustre 2.1.0 will no longer be used.
      If we want to continue correcting for negative time stamps, the following code must be modified else it can be removed:

      In lustre/include/dt_object.h:

      #define LU221_BAD_TIME (0x80000000U + 24 * 3600)
      

      In lustre/ofd/ofd_objects.c routine ofd_attr_get(),

      #if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 7, 53, 0)
      		/* Try to correct for a bug in 2.1.0 (LU-221) that caused
      		 * negative timestamps to appear to be in the far future,
      		 * due old timestamp being stored on disk as an unsigned value.
      		 * This fixes up any bad values stored on disk before
      		 * returning them to the client, and ensures any timestamp
      		 * updates are correct.  LU-1042 */
      		if (unlikely(la->la_atime == LU221_BAD_TIME))
      			la->la_atime = 0;
      		if (unlikely(la->la_mtime == LU221_BAD_TIME))
      			la->la_mtime = 0;
      		if (unlikely(la->la_ctime == LU221_BAD_TIME))
      			la->la_ctime = 0;
      #endif
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                bogl Bob Glossman (Inactive)
                Reporter:
                jamesanunez James Nunez
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: