The pl_owner field is only used for invariant testing, but standard
tests to enable that testing, so it doesn't really serve any purpose.
If you do enable it, you will finx the invariant in cl_page_list_del()
fails.
As async-io allows completion to happen in a different thread to
submission, this might not be a surprise.
So let's remove the field.
Sample stack trace:
LustreError: 2813:0:(cl_io.c:823:cl_page_list_del()) ASSERTION(
plist->pl_owner == get_current() ) failed:
LustreError: 2813:0:(cl_io.c:823:cl_page_list_del()) LBUG
Pid: 2813, comm: ptlrpcd_01_01 3.10.0-7.7-debug #1 SMP Fri Oct 25
00:19:37 EDT 2019
Call Trace:
[<
ffffffffa017de4c>] libcfs_call_trace+0x8c/0xc0 [libcfs]
[<
ffffffffa017defc>] lbug_with_loc+0x4c/0xa0 [libcfs]
[<
ffffffffa0318e21>] cl_page_list_del+0x1c1/0x200 [obdclass]
[<
ffffffffa031aeee>] cl_aio_end+0x5e/0x180 [obdclass]
[<
ffffffffa031a531>] cl_sync_io_note+0xa1/0x280 [obdclass]
[<
ffffffffa0315bf0>] cl_page_completion+0xd0/0x410 [obdclass]
[<
ffffffffa0822d79>] osc_ap_completion.isra.29+0x169/0x4c0 [osc]
[<
ffffffffa082a1c2>] osc_extent_finish+0x3a2/0xb10 [osc]
[<
ffffffffa080eb53>] brw_interpret+0x1f3/0xd60 [osc]
[<
ffffffffa05debc0>] ptlrpc_check_set+0x520/0x1ec0 [ptlrpc]
[<
ffffffffa060d0fb>] ptlrpcd_check+0x48b/0x580 [ptlrpc]
[<
ffffffffa060d4f3>] ptlrpcd+0x303/0x6c0 [ptlrpc]
[<
ffffffff810b8254>] kthread+0xe4/0xf0
[<
ffffffff817e5ddd>] ret_from_fork_nospec_begin+0x7/0x21
[<
ffffffffffffffff>] 0xffffffffffffffff
Test-Parameters: trivial
Signed-off-by: Mr NeilBrown <neilb@suse.de>
Change-Id: Icc3af742140ddc5dd31426154d578da0ba4300fe
Reviewed-on: https://review.whamcloud.com/37824
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Patrick Farrell <farr0186@gmail.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>