Whamcloud - gitweb
LU-15340 llite: Delay dput in ll_dirty_page_discard_warn 84/45784/4
authorOleg Drokin <green@whamcloud.com>
Wed, 8 Dec 2021 04:30:06 +0000 (23:30 -0500)
committerOleg Drokin <green@whamcloud.com>
Mon, 31 Jan 2022 01:24:37 +0000 (01:24 +0000)
commita1d75780ba19cfca53cbacf0d38e8d7df540b209
tree24b5a0e5a0b056df04087732fc304c4366258e23
parentfa34a15f619c49535e214eec0d076872ac9a6b9a
LU-15340 llite: Delay dput in ll_dirty_page_discard_warn

Otherwise we can be final dput and need to wait for pages
to clear which is bad because this is called from ptlrpcd
that is not supposed to block esp. for network traffic as
it can cause livelocks if it happens to be needed to kill
the very same RPC we are waiting on.

Additionally pass in the inode from IO since the page
we are using might come from directio and that is
probably not even a valid inode.

Fixes: 624a3ac23393 ("LU-921 llite: warning in case of discarding dirty pages")
Change-Id: Ie2f1a34047145202c11a4e1a0b18b2e01d9e4601
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/45784
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
lustre/llite/llite_internal.h
lustre/llite/llite_lib.c
lustre/llite/vvp_page.c