diff options
Diffstat (limited to 'fs/gfs2/bmap.c')
-rw-r--r-- | fs/gfs2/bmap.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/fs/gfs2/bmap.c b/fs/gfs2/bmap.c index 14a70401597..03c04febe26 100644 --- a/fs/gfs2/bmap.c +++ b/fs/gfs2/bmap.c | |||
@@ -60,7 +60,7 @@ static int gfs2_unstuffer_page(struct gfs2_inode *ip, struct buffer_head *dibh, | |||
60 | int release = 0; | 60 | int release = 0; |
61 | 61 | ||
62 | if (!page || page->index) { | 62 | if (!page || page->index) { |
63 | page = grab_cache_page(inode->i_mapping, 0); | 63 | page = find_or_create_page(inode->i_mapping, 0, GFP_NOFS); |
64 | if (!page) | 64 | if (!page) |
65 | return -ENOMEM; | 65 | return -ENOMEM; |
66 | release = 1; | 66 | release = 1; |
@@ -724,7 +724,11 @@ static int do_strip(struct gfs2_inode *ip, struct buffer_head *dibh, | |||
724 | int metadata; | 724 | int metadata; |
725 | unsigned int revokes = 0; | 725 | unsigned int revokes = 0; |
726 | int x; | 726 | int x; |
727 | int error = 0; | 727 | int error; |
728 | |||
729 | error = gfs2_rindex_update(sdp); | ||
730 | if (error) | ||
731 | return error; | ||
728 | 732 | ||
729 | if (!*top) | 733 | if (!*top) |
730 | sm->sm_first = 0; | 734 | sm->sm_first = 0; |
@@ -930,7 +934,7 @@ static int gfs2_block_truncate_page(struct address_space *mapping, loff_t from) | |||
930 | struct page *page; | 934 | struct page *page; |
931 | int err; | 935 | int err; |
932 | 936 | ||
933 | page = grab_cache_page(mapping, index); | 937 | page = find_or_create_page(mapping, index, GFP_NOFS); |
934 | if (!page) | 938 | if (!page) |
935 | return 0; | 939 | return 0; |
936 | 940 | ||