Whamcloud - gitweb
LU-13513 osp: make neterr not fatal for precreate_reserve
authorVladimir Saveliev <c17830@cray.com>
Tue, 18 Jan 2022 21:48:29 +0000 (13:48 -0800)
committerAndreas Dilger <adilger@whamcloud.com>
Wed, 19 Jan 2022 21:30:22 +0000 (21:30 +0000)
commit57187cda861c57229f9993e2e3aa91c63989bb62
treec043ce0bf7b86b020f5cebbc5d02752853ffcf1e
parent5a1da772cf1721967d9dae55fae3d19aebba70f8
LU-13513 osp: make neterr not fatal for precreate_reserve

When OST_CREATE (not resendable rpc) sent by precreate thread fails
with network error, osp_pre_update_status() sets d->opd_pre_status to
EIO. osp_precreate_reserve() considers EIO as fatal and does not wait
for another attempt from precreate thread. That may make
mdt_intent_open() to return ENOSPC confusing a caller.  ENOSPC comes
from lod_alloc_rr().

osp_precreate_send(): in case of network error switch EIO to ENOTCONN.

Test to illustrate the issue is added.

Lustre-change: https://review.whamcloud.com/38472
Lustre-commit: 4bba67075aa3d8739d8ca99642ff2b2836774479

Cray-bug-id: LUS-8811
Signed-off-by: Vladimir Saveliev <c17830@cray.com>
Change-Id: Iffaad9bd16f216f758c784b708e21b525c999b14
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/46179
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
lustre/include/obd_support.h
lustre/osp/osp_precreate.c
lustre/ptlrpc/events.c
lustre/tests/sanity.sh