XMLWordPrintable

Details

    • Technical task
    • Resolution: Fixed
    • Critical
    • Lustre 2.5.0
    • Lustre 2.5.0
    • 9383

    Description

      After LU-1333 http://review.whamcloud.com/#/c/7028 we need to fix seq_client_alloc_fid() to stop returning 1, and propagate an error when a second FID cannot be allocated for HSM release.

      John L. Hammond Jul 24 12:02 PM

      (defect) Should be rc < 0, since seq_client_alloc_fid() may return 1 with a valid FID, (especially after eviction).

      More generally, if the FID allocation fails then shouldn't we downgrade to a normal close so that the mfd is closed and the lease count drops.

      Jinshan Xiong Jul 24 12:20 PM

      Yes, this is a bug. We need to fix the corresponding part at MDT side.

      Alex Zhuravlev Jul 24 12:59 PM

      I don't think that rc=1 is used anywhere, we probably should fix seq_client_alloc_fid() instead..

      Jinshan Xiong Jul 24 1:20 PM

      I missed your comment, let's fix this later.

      Alex Zhuravlev Jul 25 5:31 AM

      shouldn't reset req_fmt back to RQF_MDS_CLOSE ? also, it's not clear whether we should return success in such a case as this can confuse HSM tools?

      Aurelien Degremont Jul 25 10:47 AM

      Agreed that this should finished with a non-zero value return to caller.

      Jinshan Xiong Jul 25 11:04 AM

      We will still use this format to release the lease, including lease lock and adjust lease count on the MDT.

      With regard to return code, it will be rewritten by close. So the only way to detect if a file is released successfully is to check if OBD_MD_FLRELEASED is set. Probably it also makes sense to remember the errcode here and if close runs okay we return this code to upper layer.

      Andreas Dilger Jul 25 6:09 PM

      JInshan - you previously described saving the error code here and returning it, but I don't see that anywhere in the patch? There is an earlier comment that "we should probably fix seq_client_alloc_fid() instead".

      If there is "work to be done later" this HAS to be recorded in a Jira ticket, otherwise the truth is that this cleanup just never gets done and it will be forgotten until it is a bug at the customer that needs to be fixed.

      Jinshan Xiong Jul 25 6:39 PM

      Sure, I will file a ticket to remember this work. Just didn't want to perform a last-minute change which usually makes things fail.

      Attachments

        Activity

          People

            jay Jinshan Xiong (Inactive)
            jhammond John Hammond
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: