From f69c2d56ee9af07879729540bbafecfef902234c Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Mon, 19 Jan 2004 05:16:24 -0800 Subject: [PATCH] [PATCH] reiserfs v3 should throttle writers From: Chris Mason The v3 reiserfs_file_write func doesn't do any write throttling, which leads to a variety of problems. Here's a patch that makes reiserfs_file_write call balance_dirty_pages_ratelimited, and exports that func for module usage. --- fs/reiserfs/file.c | 2 ++ mm/page-writeback.c | 1 + 2 files changed, 3 insertions(+) diff --git a/fs/reiserfs/file.c b/fs/reiserfs/file.c index 572b30f3f4170..5d326d6445a53 100644 --- a/fs/reiserfs/file.c +++ b/fs/reiserfs/file.c @@ -8,6 +8,7 @@ #include #include #include +#include /* ** We pack the tails of files on file close, not at the time they are written. @@ -1176,6 +1177,7 @@ ssize_t reiserfs_file_write( struct file *file, /* the file we are going to writ buf += write_bytes; *ppos = pos += write_bytes; count -= write_bytes; + balance_dirty_pages_ratelimited(inode->i_mapping); } if ((file->f_flags & O_SYNC) || IS_SYNC(inode)) diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 052b2201eb6db..1ad6717ade973 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -233,6 +233,7 @@ void balance_dirty_pages_ratelimited(struct address_space *mapping) } put_cpu_var(ratelimits); } +EXPORT_SYMBOL(balance_dirty_pages_ratelimited); /* * writeback at least _min_pages, and keep writing until the amount of dirty -- 2.53.0