Whamcloud - gitweb
LU-13366 lod: check for extension size at instantiation time 61/37961/8
authorVitaly Fertman <c17818@cray.com>
Fri, 13 Mar 2020 13:42:35 +0000 (16:42 +0300)
committerOleg Drokin <green@whamcloud.com>
Fri, 17 Jul 2020 19:29:50 +0000 (19:29 +0000)
commit68825cdf81688faa8d090a3a5f2321b66c2cec63
treedc57ca0d3ec8aff32f0447d9c1969b5830bee25b
parent76626d6c52b19b5cca04007c4b1656cc52a487c1
LU-13366 lod: check for extension size at instantiation time

lod_statfs_and_check() may consider an OST as OK, but SEL needs its
extension size to fit the free space and the OST may turn out to be
low-on-space, thus inappropriate OST may be chosen, SEL cannot use
it and ENOSPC occurs.

Take the extension size into account at the object allocation time.
If none of OSTs is able to allocate an object, try to allocate in old
manner instead of returning ENOSPC from lod_qos_prep_create().

Adjust tests to work on smaller extension sizes to fit into OSTs
used for sanity tests to enable the new logic above.

Signed-off-by: Vitaly Fertman <c17818@cray.com>
Change-Id: If5159200a72a68a7261aa7031e58a1ac6a8e3f24
Reviewed-by: Alexey Lyashkov <c17817@cray.com>
Reviewed-by: Andriy Skulysh <c17819@cray.com>
Tested-by: Elena Gryaznova <c17455@cray.com>
Reviewed-on: https://es-gerrit.dev.cray.com/156372
HPE-bug-id: LUS-8157
Reviewed-on: https://review.whamcloud.com/37961
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexey Lyashkov <alexey.lyashkov@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/lod/lod_internal.h
lustre/lod/lod_object.c
lustre/lod/lod_qos.c
lustre/osp/osp_dev.c
lustre/osp/osp_precreate.c
lustre/tests/sanity-pfl.sh