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

llog_cancel_rec() does not detect errors from llog_declare_destroy()

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.9.0
    • Lustre 2.8.0
    • 3
    • 9223372036854775807

    Description

      In llog_cancel_rec() the return values of llog_declare_destroy() and llog_write_rec() are never used:

              if ((llh->llh_flags & LLOG_F_ZAP_WHEN_EMPTY))
                      rc = llog_declare_destroy(env, loghandle, th);
      
              th->th_wait_submit = 1;
              rc = dt_trans_start_local(env, dt, th);
              if (rc < 0)
                      GOTO(out_trans, rc);
      
      ...
      
              rc = llog_write_rec(env, loghandle, &llh->llh_hdr, NULL,
                                  LLOG_HEADER_IDX, th);
              if (rc == 0)
                      loghandle->lgh_hdr->llh_count--;
              else
                      ext2_set_bit(index, LLOG_HDR_BITMAP(llh));
      
              if ((llh->llh_flags & LLOG_F_ZAP_WHEN_EMPTY) &&
                  (llh->llh_count == 1) &&
                  (loghandle->lgh_last_idx == LLOG_HDR_BITMAP_SIZE(llh) - 1)) {
                      rc = llog_trans_destroy(env, loghandle, th);
      

      Attachments

        Activity

          People

            wc-triage WC Triage
            jhammond John Hammond
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: