mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-25 02:09:42 +00:00
![Andrew Morton](/assets/img/avatar_default.png)
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>
28 lines
921 B
C
28 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);
|
|
}
|