Whamcloud - gitweb
LU-11421 dom: manual OST-to-DOM migration via mirroring 59/35359/5
authorMikhail Pershin <mpershin@whamcloud.com>
Fri, 28 Jun 2019 10:54:04 +0000 (13:54 +0300)
committerOleg Drokin <green@whamcloud.com>
Mon, 16 Sep 2019 23:01:11 +0000 (23:01 +0000)
commit44a721b8c10631b52f9ee2fbac1eee8cb775d148
treec8d9d9255c3293be759cea8ea27e665a77f6539d
parentcedbb25e984ceb85a66bc5a315fbfa05c5bcb423
LU-11421 dom: manual OST-to-DOM migration via mirroring

Allow DOM mirroring, update LOV/LOD code to check not just
first component for DOM pattern but cycle through all mirrors
if any. Sanity checks allows one DOM component in a mirror
and it should be the first one. Multiple DOM components are
allowed only with the same for now.

Do OST file migration to MDT by using FLR. That can't be done
by layout swapping, because MDT data will be tied to temporary
volatile file but we want to keep data with the original file.
The mirroring allows that with the following steps:
- extent layout with new mirror on MDT, no data is copied but
  new mirror stays in 'stale' state. The reason is the same
  problem with volatile file.
- resync mirrors, now new DOM layout is filled with data.
- remove first mirror

Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: I1d4213196a16d6aec70861c5530910cac062e34f
Reviewed-on: https://review.whamcloud.com/35359
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/lustre/lustreapi.h
lustre/lod/lod_lov.c
lustre/lod/lod_object.c
lustre/lov/lov_object.c
lustre/mdd/mdd_object.c
lustre/mdt/mdt_internal.h
lustre/tests/sanity.sh
lustre/utils/lfs.c
lustre/utils/liblustreapi_layout.c