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

lod: ignore root layout if parent's one includes pool

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.13.0
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      When parent directory provides striping information which includes a pool, missing layout components should not be taken from root directory striping (in lod_ah_init()). Otherwise, pool configuration and root layout mismatch leads to create failure.
      Test to illustrate the issue:

      test_27H() {
      	local POOL=${POOL:-testpool}
              local ostrange="1 1 1"
       
              $SETSTRIPE -c 2 -i 0 $MOUNT
              pool_add $POOL || error "pool_add failed"
              pool_add_targets $POOL $ostrange || "pool_add_targets failed"
              test_mkdir $DIR/$tdir
      	$SETSTRIPE -p $POOL $DIR/$tdir
              $MULTIOP $DIR/$tdir/$tfile Oc || error "multiop failed"
              $GETSTRIPE $DIR/$tdir/$tfile
      }
      run_test 27H "check that root dir striping does not break parent dir one"
      

      The test's output:

      == sanity test 27H: check that root dir striping does not break parent dir one ======================= 09:28:20 (1552199300)
      Creating new pool
      Pool lustre.testpool created
      Adding targets to pool
      OST lustre-OST0001_UUID added to pool lustre.testpool
      open(O_RDWR|O_CREAT): Invalid argument
       sanity test_27H: @@@@@@ FAIL: multiop failed 
      

      Attachments

        Activity

          People

            vsaveliev Vladimir Saveliev
            vsaveliev Vladimir Saveliev
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: