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

ppc64le build failure: llog_reader.c:921:42: error: format '%llx' expects argument of type 'long long unsigned int', but argument 3 has type 'long unsigned int'

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.15.0
    • Lustre 2.15.0
    • TOSS 4.3-3 4.18.0-348.12.2.1toss.t4.x86_64
      lustre 2.15.0_0RC2_1.lnll (based on v2_15_0-RC2)
      ppc64le
    • 3
    • 9223372036854775807

    Description

      While attempting to build a new local branch based on v2_15_0-RC2 with local patches, the ppc64le build failed due to a printf type error.

      llog_reader.c: In function 'print_unlink_rec':                                                                                                                                       
      llog_reader.c:921:42: error: format '%llx' expects argument of type 'long long unsigned int', but argument 3 has type 'long unsigned int' [-Werror=format=]                          
        printf("unlink record id:0x%x target %llx:%x:%x\n",                                                                                                                                
                                             ~~~^                                                                                                                                          
                                             %lx                                                                                                                                           
      llog_reader.c: In function 'print_setattr64_rec':                                                                                                                                    
      llog_reader.c:937:9: error: format '%llx' expects argument of type 'long long unsigned int', but argument 6 has type 'long unsigned int' [-Werror=format=]                           
        printf("setattr64 record id:0x%x target "DFID" valid %llx uid %u:%u gid %u:%u\n",                                                                                                  
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                          
      llog_reader.c:937:58: note: format string is defined here                                                                                                                            
        printf("setattr64 record id:0x%x target "DFID" valid %llx uid %u:%u gid %u:%u\n",                                                                                                  
                                                             ~~~^                                                                                                                          
                                                             %lx                                                                                                                           
      llog_reader.c: In function 'print_setattr64_rec_v2':                                                                                                                                 
      llog_reader.c:949:9: error: format '%llx' expects argument of type 'long long unsigned int', but argument 6 has type 'long unsigned int' [-Werror=format=]                           
        printf("setattr64 v2 record id:0x%x target "DFID" valid %llx uid %u:%u gid %u:%u prj %u\n",                                                                                        
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                       
      llog_reader.c:949:61: note: format string is defined here                                                                                                                            
        printf("setattr64 v2 record id:0x%x target "DFID" valid %llx uid %u:%u gid %u:%u prj %u\n",                                                                                        
                                                                ~~~^                                                                                                                       
                                                                %lx    

      There are 3 additional places in the file llog_reader.c that attempt to print a value returned by __le64_to_cpu which do not match the %llx used in the format string.

      Attachments

        Activity

          People

            defazio Gian-Carlo Defazio
            defazio Gian-Carlo Defazio
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: