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

Remove correction for bad timestamp

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.8.0
    • Lustre 2.8.0
    • 3
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: