]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - mm/page-writeback.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen...
[mv-sheeva.git] / mm / page-writeback.c
index eec1481ba44f2ab1ec8b3d31b62ba244557b221f..886ea0d5a1368af3f86548c44562896630d31c6b 100644 (file)
@@ -476,15 +476,13 @@ static void wb_kupdate(unsigned long arg)
  * sysctl handler for /proc/sys/vm/dirty_writeback_centisecs
  */
 int dirty_writeback_centisecs_handler(ctl_table *table, int write,
-               struct file *file, void __user *buffer, size_t *length, loff_t *ppos)
+       struct file *file, void __user *buffer, size_t *length, loff_t *ppos)
 {
        proc_dointvec_userhz_jiffies(table, write, file, buffer, length, ppos);
-       if (dirty_writeback_interval) {
-               mod_timer(&wb_timer,
-                       jiffies + dirty_writeback_interval);
-               } else {
+       if (dirty_writeback_interval)
+               mod_timer(&wb_timer, jiffies + dirty_writeback_interval);
+       else
                del_timer(&wb_timer);
-       }
        return 0;
 }
 
@@ -826,6 +824,7 @@ int __set_page_dirty_nobuffers(struct page *page)
                mapping2 = page_mapping(page);
                if (mapping2) { /* Race with truncate? */
                        BUG_ON(mapping2 != mapping);
+                       WARN_ON_ONCE(!PagePrivate(page) && !PageUptodate(page));
                        if (mapping_cap_account_dirty(mapping)) {
                                __inc_zone_page_state(page, NR_FILE_DIRTY);
                                task_io_account_write(PAGE_CACHE_SIZE);