From: Joel Becker <jlbec@evilplan.org>
To: ocfs2-devel@oss.oracle.com
Subject: [Ocfs2-devel] [PATCH] ocfs2: Simplify ocfs2_invalidatepage() and ocfs2_releasepage()
Date: Fri, 21 Dec 2012 17:33:21 -0800 [thread overview]
Message-ID: <20121222013320.GA27186@localhost> (raw)
In-Reply-To: <1356132395-7081-1-git-send-email-jack@suse.cz>
On Sat, Dec 22, 2012 at 12:26:35AM +0100, Jan Kara wrote:
> Ocfs2 doesn't do data journalling. Thus its ->invalidatepage and ->releasepage
> functions never get called on buffers that have journal heads attached. So
> just use standard variants of functions from buffer.c.
Indeed, we do not. I suppose if we ever use readpage, etc for our
dirblocks we'll have to revisit this.
Do you want me to send this along?
Joel
> Signed-off-by: Jan Kara <jack@suse.cz>
> ---
> fs/ocfs2/aops.c | 18 ++----------------
> 1 files changed, 2 insertions(+), 16 deletions(-)
>
> diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c
> index 6577432..6166cdd 100644
> --- a/fs/ocfs2/aops.c
> +++ b/fs/ocfs2/aops.c
> @@ -598,25 +598,11 @@ static void ocfs2_dio_end_io(struct kiocb *iocb,
> inode_dio_done(inode);
> }
>
> -/*
> - * ocfs2_invalidatepage() and ocfs2_releasepage() are shamelessly stolen
> - * from ext3. PageChecked() bits have been removed as OCFS2 does not
> - * do journalled data.
> - */
> -static void ocfs2_invalidatepage(struct page *page, unsigned long offset)
> -{
> - journal_t *journal = OCFS2_SB(page->mapping->host->i_sb)->journal->j_journal;
> -
> - jbd2_journal_invalidatepage(journal, page, offset);
> -}
> -
> static int ocfs2_releasepage(struct page *page, gfp_t wait)
> {
> - journal_t *journal = OCFS2_SB(page->mapping->host->i_sb)->journal->j_journal;
> -
> if (!page_has_buffers(page))
> return 0;
> - return jbd2_journal_try_to_free_buffers(journal, page, wait);
> + return try_to_free_buffers(page);
> }
>
> static ssize_t ocfs2_direct_IO(int rw,
> @@ -2091,7 +2077,7 @@ const struct address_space_operations ocfs2_aops = {
> .write_end = ocfs2_write_end,
> .bmap = ocfs2_bmap,
> .direct_IO = ocfs2_direct_IO,
> - .invalidatepage = ocfs2_invalidatepage,
> + .invalidatepage = block_invalidatepage,
> .releasepage = ocfs2_releasepage,
> .migratepage = buffer_migrate_page,
> .is_partially_uptodate = block_is_partially_uptodate,
> --
> 1.7.1
>
--
"But then she looks me in the eye
And says, 'We're going to last forever,'
And man you know I can't begin to doubt it.
Cause it just feels so good and so free and so right,
I know we ain't never going to change our minds about it, Hey!
Here comes my girl."
http://www.jlbec.org/
jlbec at evilplan.org
next prev parent reply other threads:[~2012-12-22 1:33 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-21 23:26 [Ocfs2-devel] [PATCH] ocfs2: Simplify ocfs2_invalidatepage() and ocfs2_releasepage() Jan Kara
2012-12-22 1:33 ` Joel Becker [this message]
2012-12-22 1:41 ` Jan Kara
-- strict thread matches above, loose matches on Subject: below --
2013-11-11 21:51 Jan Kara
2013-11-13 13:41 ` Joel Becker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121222013320.GA27186@localhost \
--to=jlbec@evilplan.org \
--cc=ocfs2-devel@oss.oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox