Whamcloud - gitweb
LU-13415 dom: use DoM optimization for DOM+OST files 52/38152/5
authorMikhail Pershin <mpershin@whamcloud.com>
Tue, 7 Apr 2020 12:52:06 +0000 (15:52 +0300)
committerOleg Drokin <green@whamcloud.com>
Thu, 14 May 2020 05:40:15 +0000 (05:40 +0000)
commit067dc642521487b2d53f46da1dec4b9d5f570c67
treed50f2f535774a664aee065f63591531386e8252e
parent5e4c658c4fea4f2b10c2877394eec824474ecc66
LU-13415 dom: use DoM optimization for DOM+OST files

Most DoM optimizations are used while DoM file has only
DoM stripe, assuming that with initialized OST stripes
most IO activity are shifted to OSTs. That is not quite
true because OST stripes can be initialized by any append
to the DoM file, so it still uses only DoM stripe but has
OST objects allocated.

Patch keeps DoM optimizations even if OST stripes are
initialized with few extra checks:
- for read-on-open it doesn't read file tail if whole DoM
  stripe is filled
- for IO lock-on-open feature it uses 'trylock' mode when
  taking DOM IO lock for files having OST stripes

Test-Parameters: mdssizegb=20 testlist=dom-performance
Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: I268bbbc947ca3e5d86339ce1a27d4641ca405a80
Reviewed-on: https://review.whamcloud.com/38152
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/mdt/mdt_handler.c
lustre/mdt/mdt_internal.h
lustre/mdt/mdt_io.c
lustre/mdt/mdt_open.c
lustre/mdt/mdt_reint.c
lustre/mdt/mdt_som.c