[Devel] [PATCH rh7 v3 3/3] ve/fs/sync: don't skip dirty metatdata on filtered sync
Andrey Ryabinin
aryabinin at virtuozzo.com
Wed Feb 3 08:46:12 PST 2016
Port of diff-ubc-dont-skip-dirty-metadata-on-filtered-sync patch
from PCS6.
Don't skip dirty metadata during per container sync[fs].
https://jira.sw.ru/browse/PSBM-39583
Signed-off-by: Andrey Ryabinin <aryabinin at virtuozzo.com>
---
fs/fs-writeback.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index b6b33d0..101892a 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -714,6 +714,7 @@ static long writeback_sb_inodes(struct super_block *sb,
continue;
}
if ((work->ub || work->filter_ub) &&
+ ((inode->i_state & I_DIRTY) == I_DIRTY_PAGES) &&
ub_should_skip_writeback(work->ub, inode)) {
spin_unlock(&inode->i_lock);
redirty_tail(inode, wb);
@@ -1411,7 +1412,8 @@ static void wait_sb_inodes(struct super_block *sb, struct user_beancounter *ub)
spin_unlock(&inode->i_lock);
continue;
}
- if (ub && (mapping->dirtied_ub != ub)) {
+ if (ub && (mapping->dirtied_ub != ub) &&
+ ((inode->i_state & I_DIRTY) == I_DIRTY_PAGES)) {
spin_unlock(&inode->i_lock);
continue;
}
--
2.4.10
More information about the Devel
mailing list