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

Do not wait forever in upcall cache if entry could not be refreshed

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.16.0
    • Lustre 2.16.0
    • 3
    • 9223372036854775807

    Description

      The process of refreshing an entry via refresh_entry() goes through an upcall/downcall. If the upcall succeeds, we enter a wait queue. If after that the downcall is never called, we hit the expiry timeout, and we get removed from the wait queue. But if the entry is not new, the expiry time will be MAX_SCHEDULE_TIMEOUT, which is actually an infinite wait because we have:

      #define MAX_SCHEDULE_TIMEOUT            LONG_MAX
      

      So avoid waiting forever if an entry could not be refreshed, and call wake_up_all() if the wait for the ACQUIRING state failed.

      Attachments

        Activity

          People

            sebastien Sebastien Buisson
            sebastien Sebastien Buisson
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: