Got 2 cases about cl_page_state_set0()) LBUG.
- (cl_page_state_set0()) allowed_transitions[old][state]
cl_page_state_set0+0x504/0x8f0 [obdclass]
cl_page_assume+0x130/0x4a0 [obdclass]
ll_read_ahead_page+0x5cc/0x730 [lustre]
And the cl_page cp_state is 2 (CPS_PAGEOUT) cp_owner has value. The page is meant to transit from CACHED to OWNED, but it already has been in PAGEOUT state.
- (cl_page.c:346:cl_page_state_set0()) equi(state == CPS_OWNED, page->cp_owner != NULL)
cl_page_state_set0+0x3ef/0x3f0 [obdclass]
cl_page_io_start+0x46/0x110 [obdclass]
cl_page_prep+0x170/0x190 [obdclass]
osc_io_submit+0x1e8/0x730 [osc]
And the cl_page cp_state is 1 (CPS_OWNED) cp_onwer has value. The page is meant to transit from OWNED to PAGEOUT, but cl_page_io_start() should has cleared its cp_owner.
"Etienne AUJAMES <eaujames@ddn.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/59271
Subject:
LU-16612llite: protect cp_state with vmpage lockProject: fs/lustre-release
Branch: b2_15
Current Patch Set: 1
Commit: 2bb45d47222c82dbf7bd132cb72bfa25debe9876