Commit 2ff28e22 authored by NeilBrown's avatar NeilBrown Committed by Linus Torvalds
Browse files

[PATCH] Make address_space_operations->invalidatepage return void



The return value of this function is never used, so let's be honest and
declare it as void.

Some places where invalidatepage returned 0, I have inserted comments
suggesting a BUG_ON.

[akpm@osdl.org: JBD BUG fix]
[akpm@osdl.org: rework for git-nfs]
[akpm@osdl.org: don't go BUG in block_invalidate_page()]
Signed-off-by: default avatarNeil Brown <neilb@suse.de>
Acked-by: default avatarDave Kleikamp <shaggy@austin.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 3978d717
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ static int afs_file_release(struct inode *inode, struct file *file);
#endif

static int afs_file_readpage(struct file *file, struct page *page);
static int afs_file_invalidatepage(struct page *page, unsigned long offset);
static void afs_file_invalidatepage(struct page *page, unsigned long offset);
static int afs_file_releasepage(struct page *page, gfp_t gfp_flags);

struct inode_operations afs_file_inode_operations = {
@@ -212,7 +212,7 @@ int afs_cache_get_page_cookie(struct page *page,
/*
 * invalidate part or all of a page
 */
static int afs_file_invalidatepage(struct page *page, unsigned long offset)
static void afs_file_invalidatepage(struct page *page, unsigned long offset)
{
	int ret = 1;

@@ -238,11 +238,11 @@ static int afs_file_invalidatepage(struct page *page, unsigned long offset)
			if (!PageWriteback(page))
				ret = page->mapping->a_ops->releasepage(page,
									0);
			/* possibly should BUG_ON(!ret); - neilb */
		}
	}

	_leave(" = %d", ret);
	return ret;
} /* end afs_file_invalidatepage() */

/*****************************************************************************/
+8 −10
Original line number Diff line number Diff line
@@ -1593,11 +1593,10 @@ EXPORT_SYMBOL(try_to_release_page);
 * point.  Because the caller is about to free (and possibly reuse) those
 * blocks on-disk.
 */
int block_invalidatepage(struct page *page, unsigned long offset)
void block_invalidatepage(struct page *page, unsigned long offset)
{
	struct buffer_head *head, *bh, *next;
	unsigned int curr_off = 0;
	int ret = 1;

	BUG_ON(!PageLocked(page));
	if (!page_has_buffers(page))
@@ -1624,19 +1623,18 @@ int block_invalidatepage(struct page *page, unsigned long offset)
	 * so real IO is not possible anymore.
	 */
	if (offset == 0)
		ret = try_to_release_page(page, 0);
		try_to_release_page(page, 0);
out:
	return ret;
	return;
}
EXPORT_SYMBOL(block_invalidatepage);

int do_invalidatepage(struct page *page, unsigned long offset)
void do_invalidatepage(struct page *page, unsigned long offset)
{
	int (*invalidatepage)(struct page *, unsigned long);
	invalidatepage = page->mapping->a_ops->invalidatepage;
	if (invalidatepage == NULL)
		invalidatepage = block_invalidatepage;
	return (*invalidatepage)(page, offset);
	void (*invalidatepage)(struct page *, unsigned long);
	invalidatepage = page->mapping->a_ops->invalidatepage ? :
		block_invalidatepage;
	(*invalidatepage)(page, offset);
}

/*
+2 −2
Original line number Diff line number Diff line
@@ -1430,7 +1430,7 @@ ext3_readpages(struct file *file, struct address_space *mapping,
	return mpage_readpages(mapping, pages, nr_pages, ext3_get_block);
}

static int ext3_invalidatepage(struct page *page, unsigned long offset)
static void ext3_invalidatepage(struct page *page, unsigned long offset)
{
	journal_t *journal = EXT3_JOURNAL(page->mapping->host);

@@ -1440,7 +1440,7 @@ static int ext3_invalidatepage(struct page *page, unsigned long offset)
	if (offset == 0)
		ClearPageChecked(page);

	return journal_invalidatepage(journal, page, offset);
	journal_invalidatepage(journal, page, offset);
}

static int ext3_releasepage(struct page *page, gfp_t wait)
+5 −8
Original line number Diff line number Diff line
@@ -1873,16 +1873,15 @@ zap_buffer_unlocked:
}

/** 
 * int journal_invalidatepage() 
 * void journal_invalidatepage()
 * @journal: journal to use for flush... 
 * @page:    page to flush
 * @offset:  length of page to invalidate.
 *
 * Reap page buffers containing data after offset in page.
 *
 * Return non-zero if the page's buffers were successfully reaped.
 */
int journal_invalidatepage(journal_t *journal, 
void journal_invalidatepage(journal_t *journal,
		      struct page *page, 
		      unsigned long offset)
{
@@ -1893,7 +1892,7 @@ int journal_invalidatepage(journal_t *journal,
	if (!PageLocked(page))
		BUG();
	if (!page_has_buffers(page))
		return 1;
		return;

	/* We will potentially be playing with lists other than just the
	 * data lists (especially for journaled data mode), so be
@@ -1916,11 +1915,9 @@ int journal_invalidatepage(journal_t *journal,
	} while (bh != head);

	if (!offset) {
		if (!may_free || !try_to_free_buffers(page))
			return 0;
		if (may_free && try_to_free_buffers(page))
			J_ASSERT(!page_has_buffers(page));
	}
	return 1;
}

/* 
+3 −4
Original line number Diff line number Diff line
@@ -578,14 +578,13 @@ static int metapage_releasepage(struct page *page, gfp_t gfp_mask)
	return 0;
}

static int metapage_invalidatepage(struct page *page, unsigned long offset)
static void metapage_invalidatepage(struct page *page, unsigned long offset)
{
	BUG_ON(offset);

	if (PageWriteback(page))
		return 0;
	BUG_ON(PageWriteback(page));

	return metapage_releasepage(page, 0);
	metapage_releasepage(page, 0);
}

struct address_space_operations jfs_metapage_aops = {
Loading