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

lov: stripe_count variable set but unused

    XMLWordPrintable

Details

    • Question/Request
    • Resolution: Fixed
    • Minor
    • None
    • None
    • None
    • 9223372036854775807

    Description

      Compiling with a recent version of gcc and with -Wall -Werrno yields the following error message:

      /home/user/lustre-release/lustre/lov/lov_internal.h:130:7: error: variable ‘stripe_count’ set but not used [-Werror=unused-but-set-variable]
         u16 stripe_count;
             ^~~~~~~~~~~~
      

      The code looks like this:

      static inline size_t lov_comp_md_size(const struct lov_stripe_md *lsm)
      {
              struct lov_stripe_md_entry *lsme;
              size_t size;
              int entry;
      
              if (lsm->lsm_magic == LOV_MAGIC_V1 || lsm->lsm_magic == LOV_MAGIC_V3)
                      return lov_mds_md_size(lsm->lsm_entries[0]->lsme_stripe_count,
                                             lsm->lsm_entries[0]->lsme_magic);
      
              if (lsm->lsm_magic == LOV_MAGIC_FOREIGN)
                      return lsm->lsm_foreign_size;
      
              LASSERT(lsm->lsm_magic == LOV_MAGIC_COMP_V1);
      
              size = sizeof(struct lov_comp_md_v1);
              for (entry = 0; entry < lsm->lsm_entry_count; entry++) {
                      u16 stripe_count;
      
                      lsme = lsm->lsm_entries[entry];
      
                      if (lsme_inited(lsme))
                              stripe_count = lsme->lsme_stripe_count;
                      else
                              stripe_count = 0;
      
                      size += sizeof(*lsme);
                      size += lov_mds_md_size(lsme->lsme_stripe_count,
                                              lsme->lsme_magic);
              }
      
              return size;
      }
      

      I am not familiar with the function, but just by considering how it is implemented, I think the lines:

                      size += lov_mds_md_size(lsme->lsme_stripe_count,
                                              lsme->lsme_magic);
      

      shoud rather be:

                      size += lov_mds_md_size(stripe_count, lsme->lsme_magic);
      

      Can anyone confirm this?

      Attachments

        Activity

          People

            bobijam Zhenyu Xu
            cealustre CEA
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: