[Devel] [PATCH rh7 v3 1/3] ve/fs/writeback: filter per-container inodes earlier
Andrey Ryabinin
aryabinin at virtuozzo.com
Wed Feb 3 08:46:10 PST 2016
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 <aryabinin at 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
More information about the Devel
mailing list