From 56919f42d1814896148b13222a60b83c7b2db2fa Mon Sep 17 00:00:00 2001 From: Oleg Drokin Date: Sat, 14 Mar 2020 03:11:29 -0400 Subject: [PATCH] LU-13131 osc: Make sure we don't accidentally deprioritize hp requests Looks like in some cases HP requests could migrade off HP list back onto urgent list Lustre-change: https://review.whamcloud.com/37967 Lustre-commit: f1c55f97d2d4b21fe87031b2bddfb9813f7df488 Change-Id: I96bf0a3a005b166f34dba215463c0806dfe2526a Signed-off-by: Oleg Drokin Reviewed-on: https://review.whamcloud.com/37918 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: Wang Shilong --- lustre/osc/osc_cache.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lustre/osc/osc_cache.c b/lustre/osc/osc_cache.c index 607c2ee..0e89a26 100644 --- a/lustre/osc/osc_cache.c +++ b/lustre/osc/osc_cache.c @@ -594,7 +594,10 @@ int osc_extent_release(const struct lu_env *env, struct osc_extent *ext) if (grant > 0) osc_unreserve_grant(cli, 0, grant); - if (ext->oe_urgent) + if (ext->oe_hp) + list_move_tail(&ext->oe_link, + &obj->oo_hp_exts); + else if (ext->oe_urgent) list_move_tail(&ext->oe_link, &obj->oo_urgent_exts); else if (ext->oe_nr_pages == ext->oe_mppr) { @@ -3048,7 +3051,7 @@ int osc_cache_writeback_range(const struct lu_env *env, struct osc_object *obj, EASSERT(!ext->oe_hp, ext); ext->oe_hp = 1; list = &obj->oo_hp_exts; - } else if (!ext->oe_urgent) { + } else if (!ext->oe_urgent && !ext->oe_hp) { ext->oe_urgent = 1; list = &obj->oo_urgent_exts; } -- 1.8.3.1