mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-25 19:50:20 +00:00 
			
		
		
		
	 d17d7fa44d
			
		
	
	
		d17d7fa44d
		
	
	
	
	
		
			
			This had a fatal lock ranking bug: we do journal_start outside mpage_writepages()'s lock_page(). Revert the whole thing, think again. Credit-to: Jan Kara <jack@suse.cz> For identifying the bug. Cc: Badari Pulavarty <pbadari@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
		
			
				
	
	
		
			29 lines
		
	
	
		
			921 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			921 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * include/linux/mpage.h
 | |
|  *
 | |
|  * Contains declarations related to preparing and submitting BIOS which contain
 | |
|  * multiple pagecache pages.
 | |
|  */
 | |
| 
 | |
| /*
 | |
|  * (And no, it doesn't do the #ifdef __MPAGE_H thing, and it doesn't do
 | |
|  * nested includes.  Get it right in the .c file).
 | |
|  */
 | |
| 
 | |
| struct writeback_control;
 | |
| typedef int (writepage_t)(struct page *page, struct writeback_control *wbc);
 | |
| 
 | |
| int mpage_readpages(struct address_space *mapping, struct list_head *pages,
 | |
| 				unsigned nr_pages, get_block_t get_block);
 | |
| int mpage_readpage(struct page *page, get_block_t get_block);
 | |
| int mpage_writepages(struct address_space *mapping,
 | |
| 		struct writeback_control *wbc, get_block_t get_block);
 | |
| int mpage_writepage(struct page *page, get_block_t *get_block,
 | |
| 		struct writeback_control *wbc);
 | |
| 
 | |
| static inline int
 | |
| generic_writepages(struct address_space *mapping, struct writeback_control *wbc)
 | |
| {
 | |
| 	return mpage_writepages(mapping, wbc, NULL);
 | |
| }
 |