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

lfs setstripe should check ost offset is valid for pool

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Minor
    • None
    • Lustre 2.12.6
    • None
    • 2
    • 9223372036854775807

    Description

      When a directory has ost pool set and a change is made to the stripe offset lustre doesn't check to make sure ost offset is valid. Here for example:

      1. mkdir creates a directory with PFL.
      2. Striping is changed to offset of 0. ( This should error out, because offset of 0 (-i 0 ) is not valid for ssd-pool.
      > lfs getstripe -d stripe_test_dir
        lcm_layout_gen:    0
        lcm_mirror_count:  1
        lcm_entry_count:   3
          lcme_id:             N/A
          lcme_mirror_id:      N/A
          lcme_flags:          prefer
          lcme_extent.e_start: 0
          lcme_extent.e_end:   268435456
            stripe_count:  1       stripe_size:   16777216       pattern:       raid0       stripe_offset: -1       pool:          ssd-pool
      
          lcme_id:             N/A
          lcme_mirror_id:      N/A
          lcme_flags:          prefer
          lcme_extent.e_start: 268435456
          lcme_extent.e_end:   5368709120
            stripe_count:  16       stripe_size:   16777216       pattern:       raid0       stripe_offset: -1       pool:          ssd-pool
      
          lcme_id:             N/A
          lcme_mirror_id:      N/A
          lcme_flags:          0
          lcme_extent.e_start: 5368709120
          lcme_extent.e_end:   EOF
            stripe_count:  16       stripe_size:   16777216       pattern:       raid0       stripe_offset: -1       pool:          hdd-pool
      
      > lfs setstripe -c 1 -i 0 stripe_test_dir
      mhanafi@pfe23:/nobackupp17/mhanafi> lfs getstripe -d stripe_test_dir
      stripe_count:  1 stripe_size:   1048576 pattern:       raid0 stripe_offset: 0 pool:          ssd-pool
      
      > touch stripe_test_dir/test
      touch: setting times of 'stripe_test_dir/test': No such file or directory
      

      lfs setstripe does check ost offset if the pool is passed.

      > lfs setstripe -c 1 -i 0 stripe_test_dir -p ssd-pool
      lfs setstripe: setstripe error for 'stripe_test_dir': Invalid argument
      
      > lfs setstripe -c 1 -i 100 stripe_test_dir -p ssd-pool
      
      > touch stripe_test_dir/test
      

      Attachments

        Activity

          People

            pjones Peter Jones
            mhanafi Mahmoud Hanafi
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: