Whamcloud - gitweb
LU-11690 lod: fix LBUG with wide striping 08/33708/14
authorPatrick Farrell <pfarrell@whamcloud.com>
Thu, 2 May 2019 13:06:58 +0000 (09:06 -0400)
committerOleg Drokin <green@whamcloud.com>
Wed, 8 May 2019 06:05:12 +0000 (06:05 +0000)
When striping extremely widely (~1600+ stripes), we reach
more than half of the theoretical limit of layout size,
and LBUG.

It is also possible to trigger this assert with
multi-component PFL files, where all the components are
below the stripe count limit, but together they exceed it.

PFL makes asserting based on LOV_MAX_STRIPE_COUNT
unworkable, so just remove the assert.  Further work is
planned to match up maximum allowed layout size with
the real maximum EA size.

Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: Id0240785792e7d4084ea6e53b44469a40e59043d
Reviewed-on: https://review.whamcloud.com/33708
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
lustre/lod/lod_lov.c

index 3223e98..673ca5b 100644 (file)
@@ -600,8 +600,6 @@ int lod_ea_store_resize(struct lod_thread_info *info, size_t size)
 {
        __u32 round = size_roundup_power2(size);
 
-       LASSERT(round <=
-               lov_mds_md_size(LOV_MAX_STRIPE_COUNT, LOV_MAGIC_V3));
        if (info->lti_ea_store) {
                LASSERT(info->lti_ea_store_size);
                LASSERT(info->lti_ea_store_size < round);