Whamcloud - gitweb
LU-10465 lod: adjust component stripe size 61/37661/4
authorMikhail Pershin <mpershin@whamcloud.com>
Fri, 21 Feb 2020 07:07:16 +0000 (10:07 +0300)
committerOleg Drokin <green@whamcloud.com>
Thu, 23 Apr 2020 16:48:36 +0000 (16:48 +0000)
commite67a7f7b960a042ae7369e81e4365c6f7e095d25
treeabcf87627245e631dd23dfbe4d3a1d5ea475fbb4
parent82c4663b12552e382cbc059bae1cbb871b3c5941
LU-10465 lod: adjust component stripe size

With increased default stripe size to 4MB the problem can
occur when assigning default stripe size to a composite layout
component if stripe size was not specified. There is no strict
requirement to have component boundaries be aligned by default
stripe size, so choosen component end can be not aligned with
system default stripe size, e.g. 3MB end vs 4MB default size.

Patch adds checks for default stripe size assigned to composite
layout components, stripe size should be a multiplier of component
end being the greatest power of two, so check that and reduce it
to the closest valid value when needed.

Fixes: 89693927f0b0 ("LU-8998 lod: accomodate to composite layout")
Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: I823307e097fda30f91ff64cc2bc4130d83c1b211
Reviewed-on: https://review.whamcloud.com/37661
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/lod/lod_internal.h
lustre/lod/lod_lov.c
lustre/lod/lod_object.c
lustre/lod/lod_qos.c