Whamcloud - gitweb
LU-14659 test: improve generate_uneven_mdts() in sanity.sh
[fs/lustre-release.git] / lustre / tests / sanity-pcc.sh
index 3ed0599..36c0714 100644 (file)
@@ -17,6 +17,7 @@ ALWAYS_EXCEPT+=""
 # UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
 
 ENABLE_PROJECT_QUOTAS=${ENABLE_PROJECT_QUOTAS:-true}
+HSMTOOL_ARCHIVE_FORMAT=v1
 
 LUSTRE=${LUSTRE:-$(cd $(dirname $0)/..; echo $PWD)}
 
@@ -113,21 +114,24 @@ lpcc_fid2path()
        local lustre_path="$2"
        local fid=$(path2fid $lustre_path)
 
-       local -a f_seq
-       local -a f_oid
-       local -a f_ver
-
-       f_seq=$(echo $fid | awk -F ':' '{print $1}')
-       f_oid=$(echo $fid | awk -F ':' '{print $2}')
-       f_ver=$(echo $fid | awk -F ':' '{print $3}')
-
-       printf "%s/%04x/%04x/%04x/%04x/%04x/%04x/%s" \
-               $hsm_root $(($f_oid & 0xFFFF)) \
-               $(($f_oid >> 16 & 0xFFFF)) \
-               $(($f_seq & 0xFFFF)) \
-               $(($f_seq >> 16 & 0xFFFF)) \
-               $(($f_seq >> 32 & 0xFFFF)) \
-               $(($f_seq >> 48 & 0xFFFF)) $fid
+       local seq=$(echo $fid | awk -F ':' '{print $1}')
+       local oid=$(echo $fid | awk -F ':' '{print $2}')
+       local ver=$(echo $fid | awk -F ':' '{print $3}')
+
+       case "$HSMTOOL_ARCHIVE_FORMAT" in
+               v1)
+                       printf "%s/%04x/%04x/%04x/%04x/%04x/%04x/%s" \
+                               $hsm_root $((oid & 0xFFFF)) \
+                               $((oid >> 16 & 0xFFFF)) \
+                               $((seq & 0xFFFF)) \
+                               $((seq >> 16 & 0xFFFF)) \
+                               $((seq >> 32 & 0xFFFF)) \
+                               $((seq >> 48 & 0xFFFF)) $fid
+                       ;;
+               v2)
+                       printf "%s/%04x/%s" $hsm_root $(((oid ^ seq) & 0xFFFF)) $fid
+                       ;;
+       esac
 }
 
 check_lpcc_state()
@@ -220,7 +224,7 @@ lpcc_rw_test() {
 
        is_project_quota_supported || project=false
 
-       do_facet $SINGLEAGT mkdir -p $DIR/$tdir
+       do_facet $SINGLEAGT $LFS mkdir -i0 -c1 $DIR/$tdir
        setup_pcc_mapping
        $project && lfs project -sp $project_id $DIR/$tdir
 
@@ -326,7 +330,7 @@ test_1e() {
        setup_pcc_mapping $SINGLEAGT \
                "projid={100}\ rwid=$HSM_ARCHIVE_NUMBER\ auto_attach=0"
        $LCTL pcc list $MOUNT
-       mkdir $DIR/$tdir || error "mkdir $DIR/$tdir failed"
+       mkdir_on_mdt0 $DIR/$tdir || error "mkdir $DIR/$tdir failed"
        chmod 777 $DIR/$tdir || error "chmod 777 $DIR/$tdir failed"
 
        do_facet $SINGLEAGT $RUNAS dd if=/dev/zero of=$file bs=1024 count=1 ||
@@ -389,7 +393,7 @@ test_1f() {
        setup_pcc_mapping $SINGLEAGT \
                "projid={100}\ rwid=$HSM_ARCHIVE_NUMBER\ open_attach=0\ stat_attach=0"
 
-       do_facet $SINGLEAGT mkdir -p $DIR/$tdir
+       do_facet $SINGLEAGT $LFS mkdir -i0 -c1 $DIR/$tdir
        chmod 777 $DIR/$tdir || error "chmod 0777 $DIR/$tdir failed"
        $LFS project -sp $project_id $DIR/$tdir ||
                error "failed to set project for $DIR/$tdir"
@@ -479,7 +483,7 @@ test_2a() {
        copytool setup -m "$MOUNT" -a "$HSM_ARCHIVE_NUMBER"
        setup_pcc_mapping
        file=$DIR/$tdir/multiop
-       mkdir -p $DIR/$tdir
+       $LFS mkdir -i -1 -c $MDSCOUNT $DIR/$tdir
        rm -f $file
 
        do_facet $SINGLEAGT $LFS project -sp $project_id $DIR/$tdir ||
@@ -1044,7 +1048,7 @@ test_12() {
        sleep 3
        wait_request_state $(path2fid $file) RESTORE SUCCEED
        $LFS hsm_remove $file || error "hsm remove $file failed"
-       wait $pid && error "RW-PCC attach $file should fail"
+       wait $pid
        do_facet $SINGLEAGT "[ -f $lpcc_path ]" &&
                error "RW-PCC cached file '$lpcc_path' should be removed"
 
@@ -1062,7 +1066,7 @@ test_rule_id() {
                "$rule\ rwid=$HSM_ARCHIVE_NUMBER\ auto_attach=0"
        $LCTL pcc list $MOUNT
 
-       do_facet $SINGLEAGT mkdir -p $DIR/$tdir
+       do_facet $SINGLEAGT $LFS mkdir -i 0 $DIR/$tdir
        chmod 777 $DIR/$tdir || error "chmod 0777 $DIR/$tdir failed"
 
        rm -f $file || error "rm $file failed"
@@ -1237,7 +1241,7 @@ test_15() {
        copytool setup -m "$MOUNT" -a "$HSM_ARCHIVE_NUMBER"
        setup_pcc_mapping
 
-       mkdir $DIR/$tdir || error "mkdir $DIR/$tdir failed"
+       mkdir_on_mdt0 $DIR/$tdir || error "mkdir $DIR/$tdir failed"
        chmod 777 $DIR/$tdir || error "chmod 777 $DIR/$tdir failed"
 
        echo "Check open attach for non-root user"