diff options
Diffstat (limited to 'mm/page-writeback.c')
-rw-r--r-- | mm/page-writeback.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/mm/page-writeback.c b/mm/page-writeback.c index b5d8a1f820a0..2cb01f6ec5d0 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c | |||
@@ -410,9 +410,12 @@ void global_dirty_limits(unsigned long *pbackground, unsigned long *pdirty) | |||
410 | { | 410 | { |
411 | unsigned long background; | 411 | unsigned long background; |
412 | unsigned long dirty; | 412 | unsigned long dirty; |
413 | unsigned long available_memory = determine_dirtyable_memory(); | 413 | unsigned long uninitialized_var(available_memory); |
414 | struct task_struct *tsk; | 414 | struct task_struct *tsk; |
415 | 415 | ||
416 | if (!vm_dirty_bytes || !dirty_background_bytes) | ||
417 | available_memory = determine_dirtyable_memory(); | ||
418 | |||
416 | if (vm_dirty_bytes) | 419 | if (vm_dirty_bytes) |
417 | dirty = DIV_ROUND_UP(vm_dirty_bytes, PAGE_SIZE); | 420 | dirty = DIV_ROUND_UP(vm_dirty_bytes, PAGE_SIZE); |
418 | else | 421 | else |
@@ -1103,7 +1106,7 @@ EXPORT_SYMBOL(write_one_page); | |||
1103 | int __set_page_dirty_no_writeback(struct page *page) | 1106 | int __set_page_dirty_no_writeback(struct page *page) |
1104 | { | 1107 | { |
1105 | if (!PageDirty(page)) | 1108 | if (!PageDirty(page)) |
1106 | SetPageDirty(page); | 1109 | return !TestSetPageDirty(page); |
1107 | return 0; | 1110 | return 0; |
1108 | } | 1111 | } |
1109 | 1112 | ||