Whamcloud - gitweb
LU-5144 mdt: rename vs link deadlock
[fs/lustre-release.git] / lustre / tests / sanityn.sh
index 4b46cc4..bcf6199 100644 (file)
@@ -2473,6 +2473,31 @@ test_55b()
 }
 run_test 55b "rename vs unlink source dir"
 
+test_55d()
+{
+       touch $DIR/f1
+
+#define OBD_FAIL_MDS_RENAME3              0x155
+       do_facet mds $LCTL set_param fail_loc=0x155
+       mv $DIR/f1 $DIR/d1 &
+       PID1=$!
+       sleep 2
+
+       # while rename is sleeping, create d2, but as a directory
+       mkdir -p $DIR2/d1 || error "(1) mkdir failed"
+
+       # link in reverse locking order
+       ln $DIR2/f1 $DIR2/d1/
+
+       wait $PID1 && error "(2) mv succeeded"
+       lctl dk > ../log1
+       ls -la $DIR/
+       ls -la $DIR/d1
+
+       rm -rf $DIR/d1
+}
+run_test 55d "rename file vs link"
+
 test_60() {
        [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.3.0) ]] ||
        { skip "Need MDS version at least 2.3.0"; return; }