Details
-
Bug
-
Resolution: Fixed
-
Major
-
Lustre 2.5.1, Lustre 2.4.3
-
None
-
3
-
14639
Description
I found this issue during backporting http://review.whamcloud.com/#/c/9704 to b2_5. sanity-lfsck.sh test_5 always complained the test_4 environment was insane.
This issue is easy to reproduce by the following debug patch:
diff --git a/lustre/tests/sanity-lfsck.sh b/lustre/tests/sanity-lfsck.sh index 4d203d6..f8765c0 100644 --- a/lustre/tests/sanity-lfsck.sh +++ b/lustre/tests/sanity-lfsck.sh @@ -386,7 +386,11 @@ test_4() #define OBD_FAIL_FID_LOOKUP 0x1505 do_facet $SINGLEMDS $LCTL set_param fail_loc=0x1505 - ls $DIR/$tdir/ > /dev/null || error "(11) no FID-in-dirent." + #ls $DIR/$tdir > /dev/null || error "(11) no FID-in-dirent." + ls -al $DIR/$tdir + echo "rc=${PIPESTATUS[0]}" + ls -al $DIR/$tdir + echo "rc=${PIPESTATUS[0]}" do_facet $SINGLEMDS $LCTL set_param fail_loc=0 }
The output is like
fail_loc=0x1505 total 0 rc=0 ls: reading directory /mnt/lustre/d4.sanity-lfsck: Input/output error total 0 rc=2
dmesg log:
Lustre: *** cfs_fail_loc=1505, val=0*** Lustre: 14962:0:(mdd_object.c:1955:mdd_dir_page_build()) build page failed: -2! LustreError: 15167:0:(dir.c:422:ll_get_dir_page()) read cache page: [0x200000400:0x1:0x0] at 0: rc -2 LustreError: 15167:0:(dir.c:584:ll_dir_read()) error reading dir [0x200000400:0x1:0x0] at 0: rc -2 LustreError: 15170:0:(dir.c:398:ll_get_dir_page()) dir page locate: [0x200000400:0x1:0x0] at 0: rc -5