linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / fs / reiserfs / inode.c
index 5375e5f..a218e53 100644 (file)
@@ -469,6 +469,7 @@ static int reiserfs_get_block_create_0(struct inode *inode, sector_t block,
    direct_IO request. */
 static int reiserfs_get_blocks_direct_io(struct inode *inode,
                                         sector_t iblock,
+                                        unsigned long max_blocks,
                                         struct buffer_head *bh_result,
                                         int create)
 {
@@ -2828,7 +2829,7 @@ static int invalidatepage_can_drop(struct inode *inode, struct buffer_head *bh)
 }
 
 /* clm -- taken from fs/buffer.c:block_invalidate_page */
-static void reiserfs_invalidatepage(struct page *page, unsigned long offset)
+static int reiserfs_invalidatepage(struct page *page, unsigned long offset)
 {
        struct buffer_head *head, *bh, *next;
        struct inode *inode = page->mapping->host;
@@ -2867,12 +2868,10 @@ static void reiserfs_invalidatepage(struct page *page, unsigned long offset)
         * The get_block cached value has been unconditionally invalidated,
         * so real IO is not possible anymore.
         */
-       if (!offset && ret) {
+       if (!offset && ret)
                ret = try_to_release_page(page, 0);
-               /* maybe should BUG_ON(!ret); - neilb */
-       }
       out:
-       return;
+       return ret;
 }
 
 static int reiserfs_set_page_dirty(struct page *page)