code: private void disableAndReportErrorOnJournals(
        List<JournalAndStream> badJournals, String status) throws IOException {
      if (badJournals == null || badJournals.isEmpty()) {
        if (forceJournalCheck) {
          // check status here, because maybe some other operation
          // (e.g., rollEditLog failed and disabled journals) but this
          // was missed by logSync() exit runtime
          forceJournalCheck = false;
          checkJournals(status);
        }
        return; // nothing to do
      }
   
      for (JournalAndStream j : badJournals) {
        LOG.error("Disabling journal " + j);
        j.abort();
        j.setDisabled(true);
        
        // report errors on storage directories as well for FJMs
        if (j.journal instanceof FileJournalManager) {
          FileJournalManager fjm = (FileJournalManager) j.journal;
          // pass image to handle image managers
          storage.reportErrorsOnDirectory(fjm.getStorageDirectory(), image);
        }
  
        // report error on shared journal/image managers
        if (j.journal instanceof ImageManager) {
          ImageManager im = (ImageManager) j.journal;
          im.setImageDisabled(true);
        }
      }
      // update image manager metrics
      if (image != null) {
        image.updateImageMetrics();
      }
      checkJournals(status);
    }
docs: Called when some journals experience an error in some operation.