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

"lfs setstripe/migrate" should check if pool exists for PFL components

Details

    • Bug
    • Resolution: Unresolved
    • Minor
    • None
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      The following scenario is possible:

      [root@client client]# lfs setstripe -E100M -c1 -p flash -E-1  -p not_a_pool test 
      [root@client client]# lfs getstripe test                                         
      test                                                                             
        lcm_layout_gen:    2                                                           
        lcm_mirror_count:  1                                                           
        lcm_entry_count:   2                                                           
          lcme_id:             1                                                       
          lcme_mirror_id:      0                                                       
          lcme_flags:          init                                                    
          lcme_extent.e_start: 0                                                       
          lcme_extent.e_end:   104857600                                               
            lmm_stripe_count:  1                                                       
            lmm_stripe_size:   1048576                                                 
            lmm_pattern:       raid0                                                   
            lmm_layout_gen:    0                                                       
            lmm_stripe_offset: 1                                                       
            lmm_pool:          flash                                                   
            lmm_objects:                                                               
            - 0: { l_ost_idx: 1, l_fid: [0x100010000:0x83:0x0] }                       
                                                                                       
          lcme_id:             2                                                       
          lcme_mirror_id:      0                                                       
          lcme_flags:          0                                                       
          lcme_extent.e_start: 104857600                                               
          lcme_extent.e_end:   EOF                                                     
            lmm_stripe_count:  1                                                       
            lmm_stripe_size:   1048576                                                 
            lmm_pattern:       raid0                                                   
            lmm_layout_gen:    0                                                       
            lmm_stripe_offset: -1                                                      
            lmm_pool:          not_a_pool                                              
                                                                                       
      

      "lfs" should check if the specified pool "not_a_pool" exists before generate and write the layout (trusted.lov) on the filesystem.

      The issue does not exist with plain layout:

      [root@client client]# lfs setstripe -c-1 -p not_a_pool test                    
      lfs setstripe: pool 'lustrefs.not_a_pool' does not exist: Invalid argument (22)
      

      Attachments

        Issue Links

          Activity

            [LU-14897] "lfs setstripe/migrate" should check if pool exists for PFL components
            adilger Andreas Dilger made changes -
            Link New: This issue is related to LU-11264 [ LU-11264 ]
            pjones Peter Jones made changes -
            Assignee Original: WC Triage [ wc-triage ] New: Etienne Aujames [ eaujames ]
            eaujames Etienne Aujames made changes -
            Description Original: The following scenario is possible:
            {code:java}
            [root@client client]# lfs setstripe -E100M -c1 -p flash -E-1 -p not_a_pool test
            [root@client client]# lfs getstripe test
            test
              lcm_layout_gen: 2
              lcm_mirror_count: 1
              lcm_entry_count: 2
                lcme_id: 1
                lcme_mirror_id: 0
                lcme_flags: init
                lcme_extent.e_start: 0
                lcme_extent.e_end: 104857600
                  lmm_stripe_count: 1
                  lmm_stripe_size: 1048576
                  lmm_pattern: raid0
                  lmm_layout_gen: 0
                  lmm_stripe_offset: 1
                  lmm_pool: flash
                  lmm_objects:
                  - 0: { l_ost_idx: 1, l_fid: [0x100010000:0x83:0x0] }
                                                                                             
                lcme_id: 2
                lcme_mirror_id: 0
                lcme_flags: 0
                lcme_extent.e_start: 104857600
                lcme_extent.e_end: EOF
                  lmm_stripe_count: 1
                  lmm_stripe_size: 1048576
                  lmm_pattern: raid0
                  lmm_layout_gen: 0
                  lmm_stripe_offset: -1
                  lmm_pool: not_a_pool
                                                                                             
            {code}
            "lfs" should check if the specified pool "not_a_pool" exist before generate and write the layout (trusted.lov) on the filesystem.

            The issue does not exist with plain layout:
            {code:java}
            [root@client client]# lfs setstripe -c-1 -p not_a_pool test
            lfs setstripe: pool 'lustrefs.not_a_pool' does not exist: Invalid argument (22)
            {code}
            New: The following scenario is possible:
            {code:java}
            [root@client client]# lfs setstripe -E100M -c1 -p flash -E-1 -p not_a_pool test
            [root@client client]# lfs getstripe test
            test
              lcm_layout_gen: 2
              lcm_mirror_count: 1
              lcm_entry_count: 2
                lcme_id: 1
                lcme_mirror_id: 0
                lcme_flags: init
                lcme_extent.e_start: 0
                lcme_extent.e_end: 104857600
                  lmm_stripe_count: 1
                  lmm_stripe_size: 1048576
                  lmm_pattern: raid0
                  lmm_layout_gen: 0
                  lmm_stripe_offset: 1
                  lmm_pool: flash
                  lmm_objects:
                  - 0: { l_ost_idx: 1, l_fid: [0x100010000:0x83:0x0] }
                                                                                             
                lcme_id: 2
                lcme_mirror_id: 0
                lcme_flags: 0
                lcme_extent.e_start: 104857600
                lcme_extent.e_end: EOF
                  lmm_stripe_count: 1
                  lmm_stripe_size: 1048576
                  lmm_pattern: raid0
                  lmm_layout_gen: 0
                  lmm_stripe_offset: -1
                  lmm_pool: not_a_pool
                                                                                             
            {code}
            "lfs" should check if the specified pool "not_a_pool" exists before generate and write the layout (trusted.lov) on the filesystem.

            The issue does not exist with plain layout:
            {code:java}
            [root@client client]# lfs setstripe -c-1 -p not_a_pool test
            lfs setstripe: pool 'lustrefs.not_a_pool' does not exist: Invalid argument (22)
            {code}
            eaujames Etienne Aujames made changes -
            Description Original: The following scenario is possible:
            {code:java}
            [root@client client]# lfs setstripe -E100M -c1 -p flash -E-1 -p not_a_pool test
            [root@client client]# lfs getstripe test
            test
              lcm_layout_gen: 2
              lcm_mirror_count: 1
              lcm_entry_count: 2
                lcme_id: 1
                lcme_mirror_id: 0
                lcme_flags: init
                lcme_extent.e_start: 0
                lcme_extent.e_end: 104857600
                  lmm_stripe_count: 1
                  lmm_stripe_size: 1048576
                  lmm_pattern: raid0
                  lmm_layout_gen: 0
                  lmm_stripe_offset: 1
                  lmm_pool: flash
                  lmm_objects:
                  - 0: { l_ost_idx: 1, l_fid: [0x100010000:0x83:0x0] }
                                                                                             
                lcme_id: 2
                lcme_mirror_id: 0
                lcme_flags: 0
                lcme_extent.e_start: 104857600
                lcme_extent.e_end: EOF
                  lmm_stripe_count: 1
                  lmm_stripe_size: 1048576
                  lmm_pattern: raid0
                  lmm_layout_gen: 0
                  lmm_stripe_offset: -1
                  lmm_pool: not_a_pool
                                                                                             
            {code}
            "lfs" should check if the specified pool "not_a_pool" exist before generate and write the layout (trusted.lov) on the filesystem.

            The issue does not exist with plain layout:
            {code:java}
            // code placeholder
            {code}
            New: The following scenario is possible:
            {code:java}
            [root@client client]# lfs setstripe -E100M -c1 -p flash -E-1 -p not_a_pool test
            [root@client client]# lfs getstripe test
            test
              lcm_layout_gen: 2
              lcm_mirror_count: 1
              lcm_entry_count: 2
                lcme_id: 1
                lcme_mirror_id: 0
                lcme_flags: init
                lcme_extent.e_start: 0
                lcme_extent.e_end: 104857600
                  lmm_stripe_count: 1
                  lmm_stripe_size: 1048576
                  lmm_pattern: raid0
                  lmm_layout_gen: 0
                  lmm_stripe_offset: 1
                  lmm_pool: flash
                  lmm_objects:
                  - 0: { l_ost_idx: 1, l_fid: [0x100010000:0x83:0x0] }
                                                                                             
                lcme_id: 2
                lcme_mirror_id: 0
                lcme_flags: 0
                lcme_extent.e_start: 104857600
                lcme_extent.e_end: EOF
                  lmm_stripe_count: 1
                  lmm_stripe_size: 1048576
                  lmm_pattern: raid0
                  lmm_layout_gen: 0
                  lmm_stripe_offset: -1
                  lmm_pool: not_a_pool
                                                                                             
            {code}
            "lfs" should check if the specified pool "not_a_pool" exist before generate and write the layout (trusted.lov) on the filesystem.

            The issue does not exist with plain layout:
            {code:java}
            [root@client client]# lfs setstripe -c-1 -p not_a_pool test
            lfs setstripe: pool 'lustrefs.not_a_pool' does not exist: Invalid argument (22)
            {code}
            eaujames Etienne Aujames made changes -
            Description New: The following scenario is possible:
            {code:java}
            [root@client client]# lfs setstripe -E100M -c1 -p flash -E-1 -p not_a_pool test
            [root@client client]# lfs getstripe test
            test
              lcm_layout_gen: 2
              lcm_mirror_count: 1
              lcm_entry_count: 2
                lcme_id: 1
                lcme_mirror_id: 0
                lcme_flags: init
                lcme_extent.e_start: 0
                lcme_extent.e_end: 104857600
                  lmm_stripe_count: 1
                  lmm_stripe_size: 1048576
                  lmm_pattern: raid0
                  lmm_layout_gen: 0
                  lmm_stripe_offset: 1
                  lmm_pool: flash
                  lmm_objects:
                  - 0: { l_ost_idx: 1, l_fid: [0x100010000:0x83:0x0] }
                                                                                             
                lcme_id: 2
                lcme_mirror_id: 0
                lcme_flags: 0
                lcme_extent.e_start: 104857600
                lcme_extent.e_end: EOF
                  lmm_stripe_count: 1
                  lmm_stripe_size: 1048576
                  lmm_pattern: raid0
                  lmm_layout_gen: 0
                  lmm_stripe_offset: -1
                  lmm_pool: not_a_pool
                                                                                             
            {code}
            "lfs" should check if the specified pool "not_a_pool" exist before generate and write the layout (trusted.lov) on the filesystem.

            The issue does not exist with plain layout:
            {code:java}
            // code placeholder
            {code}
            eaujames Etienne Aujames made changes -
            Summary Original: "lfs setstripe/migrate" should check if pool exist for PFL components New: "lfs setstripe/migrate" should check if pool exists for PFL components
            eaujames Etienne Aujames created issue -

            People

              eaujames Etienne Aujames
              eaujames Etienne Aujames
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: