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

mdd_close will always start transaction even atime is not changed

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.1.0
    • Lustre 2.1.0
    • None
    • 3
    • 5070

    Description

      I've fixed this in bug 23289 (attachment 32253), however it's back after landing of another patch (bug 23291, attachment 31108):

      • if (la->la_atime <= tmp_la->la_atime +
      • mdd_obj2mdd_dev(obj)->mdd_atime_diff)
        + if (la->la_atime > tmp_la->la_atime &&
        + la->la_atime <= (tmp_la->la_atime +
        + mdd_obj2mdd_dev(obj)->mdd_atime_diff))
        la->la_valid &= ~LA_ATIME;

      with this patch, the condition is always false if "la->la_atime == tmp_la->la_atime", which means even atime is exactly same as before, we still start a transaction and setattr, this will give a big impact on performance for those shortly open+close applications/tests.

      Attachments

        Activity

          People

            liang Liang Zhen (Inactive)
            liang Liang Zhen (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: