diff options
| author | Andrew Morton <akpm@osdl.org> | 2004-04-11 23:11:21 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-04-11 23:11:21 -0700 |
| commit | 1d7d3304e9845f61cab6b6091e8952f6fb05009a (patch) | |
| tree | 7d79e788d4e7c5e7dbbcf4af7b1ca70bc2526c0b /include | |
| parent | 40c8348ec03fa2c525e13ca6ee54279735563ee4 (diff) | |
[PATCH] stop using the address_space dirty_pages list
Move everything over to walking the radix tree via the PAGECACHE_TAG_DIRTY
tag. Remove address_space.dirty_pages.
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/fs.h | 3 | ||||
| -rw-r--r-- | include/linux/pagemap.h | 7 | ||||
| -rw-r--r-- | include/linux/pagevec.h | 7 |
3 files changed, 11 insertions, 6 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 857e797b0ad2..f8954889d336 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -324,7 +324,6 @@ struct address_space { struct radix_tree_root page_tree; /* radix tree of all pages */ spinlock_t tree_lock; /* and spinlock protecting it */ struct list_head clean_pages; /* list of clean pages */ - struct list_head dirty_pages; /* list of dirty pages */ struct list_head locked_pages; /* list of locked pages */ struct list_head io_pages; /* being prepared for I/O */ unsigned long nrpages; /* number of total pages */ @@ -371,6 +370,8 @@ struct block_device { #define PAGECACHE_TAG_DIRTY 0 #define PAGECACHE_TAG_WRITEBACK 1 +int mapping_tagged(struct address_space *mapping, int tag); + /* * Use sequence counter to get consistent i_size on 32-bit processors. */ diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h index e552cb04a0ed..70d07dbfcd02 100644 --- a/include/linux/pagemap.h +++ b/include/linux/pagemap.h @@ -69,9 +69,10 @@ extern struct page * find_trylock_page(struct address_space *mapping, unsigned long index); extern struct page * find_or_create_page(struct address_space *mapping, unsigned long index, unsigned int gfp_mask); -extern unsigned int find_get_pages(struct address_space *mapping, - pgoff_t start, unsigned int nr_pages, - struct page **pages); +unsigned find_get_pages(struct address_space *mapping, pgoff_t start, + unsigned int nr_pages, struct page **pages); +unsigned find_get_pages_tag(struct address_space *mapping, pgoff_t *index, + int tag, unsigned int nr_pages, struct page **pages); /* * Returns locked page at given index in given cache, creating it if needed. diff --git a/include/linux/pagevec.h b/include/linux/pagevec.h index 2a332eed3d82..e6e43ce82b55 100644 --- a/include/linux/pagevec.h +++ b/include/linux/pagevec.h @@ -22,8 +22,11 @@ void __pagevec_free(struct pagevec *pvec); void __pagevec_lru_add(struct pagevec *pvec); void __pagevec_lru_add_active(struct pagevec *pvec); void pagevec_strip(struct pagevec *pvec); -unsigned int pagevec_lookup(struct pagevec *pvec, struct address_space *mapping, - pgoff_t start, unsigned int nr_pages); +unsigned pagevec_lookup(struct pagevec *pvec, struct address_space *mapping, + pgoff_t start, unsigned nr_pages); +unsigned pagevec_lookup_tag(struct pagevec *pvec, + struct address_space *mapping, pgoff_t *index, int tag, + unsigned nr_pages); static inline void pagevec_init(struct pagevec *pvec, int cold) { |
