Whamcloud - gitweb
LU-3285 mdc: implement own mdc_io_fsync_start() 13/29813/3
authorMikhal Pershin <mike.pershin@intel.com>
Thu, 26 Oct 2017 20:41:32 +0000 (23:41 +0300)
committerMike Pershin <mike.pershin@intel.com>
Mon, 30 Oct 2017 18:18:36 +0000 (18:18 +0000)
commit1d2e9f42027ca0de07bbaf46a7c1f6866935f1a5
treeeed623688558db29232111db8b638b3ea6328fdb
parent138b3eee3b61e06b34999c599d388f5e6e0effed
LU-3285 mdc: implement own mdc_io_fsync_start()

DoM lock cancelation may happen in llite and call
cl_sync_file_range() function to flush related data and
it uses DOM component end as limit for data to be flushed.
However related lock and extent are expanded to EOF and
this is asserted in osc_cache_writeback_range().
To avoid this a MDC uses own version of cio_start for FSYNC
and osc_cache_writeback_range() is called on whole DoM object
no matter what start/end are supplied by upper layers.

Test-Parameters: mdscount=1 mdtcount=1 mdssizegb=20 testlist=sanity-dom,dom-performance,racer
Signed-off-by: Mikhal Pershin <mike.pershin@intel.com>
Change-Id: I044faa95d3664a0448c21e9a2f1c2e5dd3a69cde
Reviewed-on: https://review.whamcloud.com/29813
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
lustre/include/lustre_osc.h
lustre/mdc/mdc_dev.c
lustre/osc/osc_io.c