Whamcloud - gitweb
LU-12704 lov: check all entries in lov_flush_composite 68/36368/8
authorVladimir Saveliev <c17830@cray.com>
Thu, 24 Oct 2019 09:17:09 +0000 (12:17 +0300)
committerOleg Drokin <green@whamcloud.com>
Tue, 12 Nov 2019 04:07:13 +0000 (04:07 +0000)
commit44460570fd21a91002190c8a0620923125135b52
tree6305c3f960248ce5b741e7cab8349c94df224e4a
parent316eddce938297ffd376d59c797cc55d50437ae9
LU-12704 lov: check all entries in lov_flush_composite

Check all layout entries for DOM layout and exit with
-ENODATA if no one exists. Caller consider that as valid
case due to layout change.

Define llo_flush methods for all layouts as required
by lov_dispatch().

Patch cleans up also cl_dom_size field in cl_layout which
was used in previous ll_dom_lock_cancel() implementation

Run lov_flush_composite under down_read lov->lo_type_guard to avoid
race with layout change.

Fixes: 707bab62f5 ("LU-12296 llite: improve ll_dom_lock_cancel")

Test-Parameters testlist=racer
Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Signed-off-by: Vladimir Saveliev <c17830@cray.com>
Change-Id: I4e7b1b201bb1a669fe0d8f0f728467e579ef3512
Reviewed-on: https://review.whamcloud.com/36368
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/cl_object.h
lustre/llite/namei.c
lustre/lov/lov_object.c