Skip to contentSkip to conversation

put in-memory filesystem dirty pages on the correct list

PATCH In review Andrew Morton 1 participant 1 message Jun 1, 2002

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 13/16 put in-memory filesystem dirty pages on the correct list

Replaces SetPageDirty() with set_page_dirty() in several places related to in-memory filesystems.

SetPageDirty() is basically always the wrong thing to do. Pages should be moved to the ->dirty_pages list when dirtied so that writeback can see them.

Without this change, dirty pages against in-memory filesystems would churn around on the inactive list all the time, rather than getting pushed away onto the active list. A minor efficiency thing.

=====================================

mm/shmem.c renamed from mm/shmem.c~shmem +2 -2
@@ -854,7 +854,7 @@ shmem_file_write(struct file *file,const
 
 		flush_dcache_page(page);
 		if (bytes > 0) {
-			SetPageDirty(page);
+			set_page_dirty(page);
 			written += bytes;
 			count -= bytes;
 			pos += bytes;
@@ -1139,7 +1139,7 @@ static int shmem_symlink(struct inode * 
 		kaddr = kmap(page);
 		memcpy(kaddr, symname, len);
 		kunmap(page);
-		SetPageDirty(page);
+		set_page_dirty(page);
 		unlock_page(page);
 		page_cache_release(page);
 		up(&info->sem);
mm/filemap.c renamed from mm/filemap.c~shmem +1 -1
@@ -450,7 +450,7 @@ int fail_writepage(struct page *page)
 	}
 
 	/* Set the page dirty again, unlock */
-	SetPageDirty(page);
+	set_page_dirty(page);
 	unlock_page(page);
 	return 0;
 }

-