On Sat, 28 Jun 2014 20:58:38 +0900 Jaegeuk Kim <jaeg...@kernel.org> wrote:

> If we don't check the current backing device status, balance_dirty_pages can
> fall into infinite pausing routine.
> 
> This can be occurred when a lot of directories make a small number of dirty
> dentry pages including files.
> 
> ...
>
> --- a/fs/f2fs/node.c
> +++ b/fs/f2fs/node.c
> @@ -43,6 +43,8 @@ bool available_free_memory(struct f2fs_sb_info *sbi, int 
> type)
>               mem_size = (nm_i->nat_cnt * sizeof(struct nat_entry)) >> 12;
>               res = mem_size < ((val.totalram * nm_i->ram_thresh / 100) >> 2);
>       } else if (type == DIRTY_DENTS) {
> +             if (sbi->sb->s_bdi->dirty_exceeded)
> +                     return false;
>               mem_size = get_pages(sbi, F2FS_DIRTY_DENTS);
>               res = mem_size < ((val.totalram * nm_i->ram_thresh / 100) >> 1);
>       }

err, filesystems should not be playing around with this.

Perhaps VFS changes are needed.  Please tell us much much more about
what is going on here.

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to