diff options
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_aops.c')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_aops.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/fs/xfs/linux-2.6/xfs_aops.c b/fs/xfs/linux-2.6/xfs_aops.c index a55c3b26d840..fa47e43b8b41 100644 --- a/fs/xfs/linux-2.6/xfs_aops.c +++ b/fs/xfs/linux-2.6/xfs_aops.c | |||
@@ -409,7 +409,6 @@ xfs_start_buffer_writeback( | |||
409 | STATIC void | 409 | STATIC void |
410 | xfs_start_page_writeback( | 410 | xfs_start_page_writeback( |
411 | struct page *page, | 411 | struct page *page, |
412 | struct writeback_control *wbc, | ||
413 | int clear_dirty, | 412 | int clear_dirty, |
414 | int buffers) | 413 | int buffers) |
415 | { | 414 | { |
@@ -676,7 +675,7 @@ xfs_probe_cluster( | |||
676 | } else | 675 | } else |
677 | pg_offset = PAGE_CACHE_SIZE; | 676 | pg_offset = PAGE_CACHE_SIZE; |
678 | 677 | ||
679 | if (page->index == tindex && !TestSetPageLocked(page)) { | 678 | if (page->index == tindex && trylock_page(page)) { |
680 | pg_len = xfs_probe_page(page, pg_offset, mapped); | 679 | pg_len = xfs_probe_page(page, pg_offset, mapped); |
681 | unlock_page(page); | 680 | unlock_page(page); |
682 | } | 681 | } |
@@ -760,7 +759,7 @@ xfs_convert_page( | |||
760 | 759 | ||
761 | if (page->index != tindex) | 760 | if (page->index != tindex) |
762 | goto fail; | 761 | goto fail; |
763 | if (TestSetPageLocked(page)) | 762 | if (!trylock_page(page)) |
764 | goto fail; | 763 | goto fail; |
765 | if (PageWriteback(page)) | 764 | if (PageWriteback(page)) |
766 | goto fail_unlock_page; | 765 | goto fail_unlock_page; |
@@ -858,7 +857,7 @@ xfs_convert_page( | |||
858 | done = 1; | 857 | done = 1; |
859 | } | 858 | } |
860 | } | 859 | } |
861 | xfs_start_page_writeback(page, wbc, !page_dirty, count); | 860 | xfs_start_page_writeback(page, !page_dirty, count); |
862 | } | 861 | } |
863 | 862 | ||
864 | return done; | 863 | return done; |
@@ -1105,7 +1104,7 @@ xfs_page_state_convert( | |||
1105 | * that we are writing into for the first time. | 1104 | * that we are writing into for the first time. |
1106 | */ | 1105 | */ |
1107 | type = IOMAP_NEW; | 1106 | type = IOMAP_NEW; |
1108 | if (!test_and_set_bit(BH_Lock, &bh->b_state)) { | 1107 | if (trylock_buffer(bh)) { |
1109 | ASSERT(buffer_mapped(bh)); | 1108 | ASSERT(buffer_mapped(bh)); |
1110 | if (iomap_valid) | 1109 | if (iomap_valid) |
1111 | all_bh = 1; | 1110 | all_bh = 1; |
@@ -1130,7 +1129,7 @@ xfs_page_state_convert( | |||
1130 | SetPageUptodate(page); | 1129 | SetPageUptodate(page); |
1131 | 1130 | ||
1132 | if (startio) | 1131 | if (startio) |
1133 | xfs_start_page_writeback(page, wbc, 1, count); | 1132 | xfs_start_page_writeback(page, 1, count); |
1134 | 1133 | ||
1135 | if (ioend && iomap_valid) { | 1134 | if (ioend && iomap_valid) { |
1136 | offset = (iomap.iomap_offset + iomap.iomap_bsize - 1) >> | 1135 | offset = (iomap.iomap_offset + iomap.iomap_bsize - 1) >> |