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

From: Andrew Morton (akpm@zip.com.au)
Date: Sat Jun 01 2002 - 03:43:44 EST


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/



This archive was generated by hypermail 2b29 : Fri Jun 07 2002 - 22:00:10 EST