Skip to content

Commit

Permalink
NTFS: In attrib.c::ntfs_attr_set() call balance_dirty_pages_ratelimit…
Browse files Browse the repository at this point in the history
…ed()

      and cond_resched() in the main loop as we could be dirtying a lot of
      pages and this ensures we play nice with the VM and the system as a
      whole.

Signed-off-by: Anton Altaparmakov <[email protected]>
  • Loading branch information
AntonAltaparmakov committed Oct 11, 2005
1 parent 29d8699 commit 29b8990
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 2 deletions.
4 changes: 4 additions & 0 deletions fs/ntfs/ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,10 @@ ToDo/Notes:
uncompressed and unencrypted files are supported. Also, there is
only very limited support for highly fragmented files (the ones whose
$DATA attribute is split into multiple attribute extents).
- In attrib.c::ntfs_attr_set() call balance_dirty_pages_ratelimited()
and cond_resched() in the main loop as we could be dirtying a lot of
pages and this ensures we play nice with the VM and the system as a
whole.

2.1.24 - Lots of bug fixes and support more clean journal states.

Expand Down
4 changes: 4 additions & 0 deletions fs/ntfs/attrib.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@
*/

#include <linux/buffer_head.h>
#include <linux/sched.h>
#include <linux/swap.h>
#include <linux/writeback.h>

#include "attrib.h"
#include "debug.h"
Expand Down Expand Up @@ -2590,6 +2592,8 @@ int ntfs_attr_set(ntfs_inode *ni, const s64 ofs, const s64 cnt, const u8 val)
/* Finally unlock and release the page. */
unlock_page(page);
page_cache_release(page);
balance_dirty_pages_ratelimited(mapping);
cond_resched();
}
/* If there is a last partial page, need to do it the slow way. */
if (end_ofs) {
Expand Down
3 changes: 1 addition & 2 deletions fs/ntfs/malloc.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,7 @@
* If there was insufficient memory to complete the request, return NULL.
* Depending on @gfp_mask the allocation may be guaranteed to succeed.
*/
static inline void *__ntfs_malloc(unsigned long size,
gfp_t gfp_mask)
static inline void *__ntfs_malloc(unsigned long size, gfp_t gfp_mask)
{
if (likely(size <= PAGE_SIZE)) {
BUG_ON(!size);
Expand Down

0 comments on commit 29b8990

Please sign in to comment.