Whamcloud - gitweb
LU-12462 osc: layout and chunkbits alignment mismatch 33/35733/6
authorVitaly Fertman <c17818@cray.com>
Thu, 8 Aug 2019 15:46:06 +0000 (18:46 +0300)
committerOleg Drokin <green@whamcloud.com>
Wed, 21 Aug 2019 04:47:38 +0000 (04:47 +0000)
commit7a9f7dec700c5c553396475daad272475f1b20be
treed7c4f2added73aa35859a8f181326bdd2fc3f997
parentd8fc5c23fe541e0ff6ce5bec6302957714c3f69f
LU-12462 osc: layout and chunkbits alignment mismatch

In the discard case, the OSC fsync/writeback code asserts
that each OSC extent is fully covered by the fsync request.

It may happen that a start(or an end) of a component does not match
the first (the last) osc object extent start (end), which is aligned
by the cl_chunkbits which depends on the OST block size.

The requirement for the component alignment is LOV_MIN_STRIPE_SIZE
which is 64K, the ZFS block size could be in MBs.

Use an aligned by chunk size the fsync reqion in the assertion.

Fixes: 092ecd6612 ("LU-12462 osc: Do not assert for first extent")

Signed-off-by: Vitaly Fertman <c17818@cray.com>
Change-Id: I2ff47fc87c838239142ffc63bebafce3e9403f4e
Cray-bug-id: LUS-7498
Reviewed-on: https://review.whamcloud.com/35733
Reviewed-by: Mike Pershin <mpershin@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/osc/osc_cache.c