Whamcloud - gitweb
LU-12296 llite: improve ll_dom_lock_cancel 96/40296/3
authorVladimir Saveliev <c17830@cray.com>
Wed, 5 Jun 2019 01:46:42 +0000 (04:46 +0300)
committerOleg Drokin <green@whamcloud.com>
Tue, 3 Nov 2020 03:17:05 +0000 (03:17 +0000)
commit98ee0d5b10858287c74e1b7d51129b7a5fd97ae9
tree9b558f14ca30680b146f8241aa13608c18a86736
parent5026a42944c2219d2a5d8f2692670dcc2727eda2
LU-12296 llite: improve ll_dom_lock_cancel

ll_dom_lock_cancel() should zero kms attribute similar to
mdc_ldlm_blocking_ast0().

In order to avoid code duplication between mdc_ldlm_blocking_ast0()
and ll_dom_lock_cancel() - add new cl_object_operations method -
coo_object_flush() to reach mdc's blocking ast from llite level.

Tests illustrating the issue are added.

Lustre-change: https://review.whamcloud.com/34858
Lustre-commit: 707bab62f5d6c704b30e4ee9e769b5c9f026e1e7

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.

Lustre-change: https://review.whamcloud.com/36368
Lustre-commit: 44460570fd21a91002190c8a0620923125135b52

Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: I2b100ead6d420dbf561bc61be973d64dad317214
Reviewed-on: https://review.whamcloud.com/40296
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
lustre/mdc/mdc_dev.c
lustre/obdclass/cl_object.c
lustre/tests/sanity-dom.sh