Filter inodes before should happen befor the check for I_SYNC flag. During per-container writeback we don't wan't to requeue inodes from other containers.
https://jira.sw.ru/browse/PSBM-39583 Signed-off-by: Andrey Ryabinin <aryabi...@virtuozzo.com> --- fs/fs-writeback.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index d48530f9..16bc6b3 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -711,6 +711,13 @@ static long writeback_sb_inodes(struct super_block *sb, redirty_tail(inode, wb); continue; } + if ((work->ub || work->filter_ub) && + ub_should_skip_writeback(work->ub, inode)) { + spin_unlock(&inode->i_lock); + redirty_tail(inode, wb); + continue; + } + if ((inode->i_state & I_SYNC) && wbc.sync_mode != WB_SYNC_ALL) { /* * If this inode is locked for writeback and we are not @@ -726,12 +733,6 @@ static long writeback_sb_inodes(struct super_block *sb, trace_writeback_sb_inodes_requeue(inode); continue; } - if ((work->ub || work->filter_ub) && - ub_should_skip_writeback(work->ub, inode)) { - spin_unlock(&inode->i_lock); - redirty_tail(inode, wb); - continue; - } spin_unlock(&wb->list_lock); -- 2.4.10 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel