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

default pool not inherited when specifying any layout parameter

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: Lustre 2.9.0, Lustre 2.11.0
    • Labels:
      None
    • Severity:
      3
    • Rank (Obsolete):
      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: