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

default pool not inherited when specifying any layout parameter

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.9.0, Lustre 2.11.0
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      When creating a new file with a specific layout in a directory that has a default layout, none of the default layout parameters are inherited at all. For example, setting the default striping to use size 65536 bytes on OST2 in the video pool:

      # lfs pool_list myth.audio
      Pool: myth.audio
      myth-OST0001_UUID
      myth-OST0002_UUID
      # mkdir /myth/tmp/ost2
      # lfs setstripe -S 65536 -i 1 -p audio /myth/tmp/ost1audio
      # lfs getstripe -d /myth/tmp/ost3audio
      stripe_count:   1 stripe_size:    65536 stripe_offset:  1 pool:           audio
      # touch /myth/tmp/ost1audio/orig
      touch /myth/tmp/ost1audio/orig
      [adilger@twoshoes ~]$ lfs getstripe /myth/tmp/ost1audio/orig
      lmm_stripe_count:   1
      lmm_stripe_size:    65536 ✅
      lmm_stripe_offset:  1 ✅
      lmm_pool:           audio ✅
      	obdidx		 objid		 objid		 group
      	     1	       1147360	     0x1181e0	             0
      # lfs setstripe -S 1M /myth/tmp/ost1audio/new
      # lfs getstripe /myth/tmp/ost1audio/new
      lmm_stripe_count:   1
      lmm_stripe_size:    1048576 ✅
      lmm_stripe_offset:  3 ❌
      	obdidx		 objid		 objid		 group
      	     3 	       1147358	     0x1181de	             0
      

      This file did not inherit the the OST pool from the default layout, and as a result it was also allocated from a file that was not in the pool.

      # lfs setstripe -c 2 /myth/tmp/ost1audio/next
      # lfs getstripe /myth/tmp/ost1audio/next
      lmm_stripe_count:   2 ✅
      lmm_stripe_size:    65536  ✅
      lmm_stripe_offset:  3 ❌
      obdidx        objid    objid        group
           3	       1147359	     0x1181df             0
      	     1	        859771	      0xd1e7b	             0
      

      The stripe_size was used for the new allocation, but the OST pool was not inherited, and as a result a of that the stripes are not constrained to which OSTs are involved.

      Attachments

        Issue Links

          Activity

            People

              laisiyao Lai Siyao
              adilger Andreas Dilger
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: