diff options
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/btrfs/disk-io.c | 5 | ||||
| -rw-r--r-- | fs/btrfs/inode.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 42bf9916805..ecb74b72026 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c | |||
| @@ -346,7 +346,7 @@ int btree_readpage_end_io_hook(struct page *page, u64 start, u64 end, | |||
| 346 | eb = alloc_extent_buffer(tree, start, len, page, GFP_NOFS); | 346 | eb = alloc_extent_buffer(tree, start, len, page, GFP_NOFS); |
| 347 | 347 | ||
| 348 | found_start = btrfs_header_bytenr(eb); | 348 | found_start = btrfs_header_bytenr(eb); |
| 349 | if (found_start != start) { | 349 | if (0 && found_start != start) { |
| 350 | printk("bad tree block start %llu %llu\n", | 350 | printk("bad tree block start %llu %llu\n", |
| 351 | (unsigned long long)found_start, | 351 | (unsigned long long)found_start, |
| 352 | (unsigned long long)eb->start); | 352 | (unsigned long long)eb->start); |
| @@ -592,6 +592,9 @@ static int btree_releasepage(struct page *page, gfp_t gfp_flags) | |||
| 592 | struct extent_map_tree *map; | 592 | struct extent_map_tree *map; |
| 593 | int ret; | 593 | int ret; |
| 594 | 594 | ||
| 595 | if (PageWriteback(page) || PageDirty(page)) | ||
| 596 | return 0; | ||
| 597 | |||
| 595 | tree = &BTRFS_I(page->mapping->host)->io_tree; | 598 | tree = &BTRFS_I(page->mapping->host)->io_tree; |
| 596 | map = &BTRFS_I(page->mapping->host)->extent_tree; | 599 | map = &BTRFS_I(page->mapping->host)->extent_tree; |
| 597 | 600 | ||
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 073fdd77c78..24b7e97fccb 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c | |||
| @@ -3060,6 +3060,8 @@ static int __btrfs_releasepage(struct page *page, gfp_t gfp_flags) | |||
| 3060 | 3060 | ||
| 3061 | static int btrfs_releasepage(struct page *page, gfp_t gfp_flags) | 3061 | static int btrfs_releasepage(struct page *page, gfp_t gfp_flags) |
| 3062 | { | 3062 | { |
| 3063 | if (PageWriteback(page) || PageDirty(page)) | ||
| 3064 | return 0; | ||
| 3063 | return __btrfs_releasepage(page, gfp_flags); | 3065 | return __btrfs_releasepage(page, gfp_flags); |
| 3064 | } | 3066 | } |
| 3065 | 3067 | ||
