Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 29b89905 authored by Anton Altaparmakov's avatar Anton Altaparmakov
Browse files

NTFS: 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.

Signed-off-by: default avatarAnton Altaparmakov <aia21@cantab.net>
parent 29d8699e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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.

+4 −0
Original line number Diff line number Diff line
@@ -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"
@@ -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) {
+1 −2
Original line number Diff line number Diff line
@@ -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);