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

Flock unlock request resend caused a memory leak.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • Lustre 2.14.0
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      LU-12828 fix introduce a regression caused a request leak in the resend case.

      @@ -922,6 +932,7 @@ resend:
                      LASSERTF(einfo->ei_type == LDLM_FLOCK, “lock type %d\n”,
                               einfo->ei_type);
                      res_id.name[3] = LDLM_FLOCK;
      +               req = ldlm_enqueue_pack(exp, 0);
      ...
      @@ -973,6 +971,7 @@ resend:
              rc = ldlm_cli_enqueue(exp, &req, einfo, &res_id, policy, &flags, NULL,
                                    0, lvb_type, lockh, 0);
      +
              if (!it) {
                      /* For flock requests we immediatelly return without further
                         delay and let caller deal with the rest, since rest of
      @@ -986,12 +985,10 @@ resend:
                          (einfo->ei_type == LDLM_FLOCK) &&
                          (einfo->ei_mode == LCK_NL))
                              goto resend;
      +               ptlrpc_req_finished(req);
                      RETURN(rc);
              }
      

      So new request will allocated on resend case, but it don't freed in unlock resend case.

      Attachments

        Activity

          People

            shadow Alexey Lyashkov
            shadow Alexey Lyashkov
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: