Looks like in some cases high priority extents could migrate off
oo_hp_exts list back onto urgent list.
Change-Id: I96bf0a3a005b166f34dba215463c0806dfe2526a
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/37967
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Tested-by: Maloo <maloo@whamcloud.com>
if (osc_extent_merge(env, ext, next_extent(ext)) == 0)
grant += cli->cl_grant_extent_tax;
- 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) {
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;
}