forked from Minki/linux
Btrfs: Make sure pages are dirty before doing delalloc for them
This adds a PageDirty check to the writeback path that locks pages for delalloc. If a page wasn't dirty at this point, it is in the process of being truncated away. Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
parent
5b7c3fcc46
commit
f2b1c41cf9
@ -1205,7 +1205,8 @@ static noinline int lock_delalloc_pages(struct inode *inode,
|
||||
*/
|
||||
if (pages[i] != locked_page) {
|
||||
lock_page(pages[i]);
|
||||
if (pages[i]->mapping != inode->i_mapping) {
|
||||
if (!PageDirty(pages[i]) ||
|
||||
pages[i]->mapping != inode->i_mapping) {
|
||||
ret = -EAGAIN;
|
||||
unlock_page(pages[i]);
|
||||
page_cache_release(pages[i]);
|
||||
|
Loading…
Reference in New Issue
Block a user