[patch 13/16] put in-memory filesystem dirty pages on the correct list

Andrew Morton (akpm@zip.com.au)
Sat, 01 Jun 2002 01:43:44 -0700


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.

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

--- 2.5.19/mm/shmem.c~shmem Sat Jun 1 01:18:13 2002
+++ 2.5.19-akpm/mm/shmem.c Sat Jun 1 01:18:13 2002
@@ -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);
--- 2.5.19/mm/filemap.c~shmem Sat Jun 1 01:18:13 2002
+++ 2.5.19-akpm/mm/filemap.c Sat Jun 1 01:18:13 2002
@@ -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;
}

-
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/