Whamcloud - gitweb
LU-13513 osp: make neterr not fatal for precreate_reserve 72/38472/10
authorVladimir Saveliev <c17830@cray.com>
Mon, 2 Nov 2020 10:10:42 +0000 (13:10 +0300)
committerOleg Drokin <green@whamcloud.com>
Fri, 26 Feb 2021 08:20:47 +0000 (08:20 +0000)
commit4bba67075aa3d8739d8ca99642ff2b2836774479
tree20092f910f293b71393f7c83d3b8efb033baec95
parente45e8a92a2ecab742b3680716a55aaa1d9827057
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.

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