All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH 1/4] gfs2: stop using generic_writepages in gfs2_ail1_start_one
Date: Thu, 19 Jan 2023 07:22:13 +0100	[thread overview]
Message-ID: <20230119062213.GA17855@lst.de> (raw)
In-Reply-To: <CAHc6FU5A71L0r2k5z7QoBZe3pO+5G1nMNvKfGmJzprQWFyDCog@mail.gmail.com>

On Wed, Jan 18, 2023 at 10:22:20PM +0100, Andreas Gruenbacher wrote:
> The above change means that instead of calling generic_writepages(),
> we end up calling filemap_fdatawrite_wbc() -> do_writepages() ->
> mapping->a_ops->writepages(). But that's something completely
> different; the writepages address space operation operates is outward
> facing, while we really only want to write out the dirty buffers /
> pages in the underlying address space. In case of journaled data
> inodes, gfs2_jdata_writepages() actually ends up trying to create a
> filesystem transaction, which immediately hangs because we're in the
> middle of a log flush.
> 
> So I'm tempted to revert the following two of your commits; luckily
> that's independent from the iomap_writepage() removal:
> 
>   d3d71901b1ea ("gfs2: remove ->writepage")
>   b2b0a5e97855 ("gfs2: stop using generic_writepages in gfs2_ail1_start_one")

generic_writepages is gone in linux-next, and I'd really like to keep
it that way.  So if you have to do this, please open code it
using write_cache_pages and a direct call to the writepage method of
choice.

> I think we could go through iomap_writepages() instead of
> generic_writepages() here as well,  but that's for another day.

Well, that would obviously be much better, and actually help with the
goal of removing ->writepage.


WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Andreas Gruenbacher <agruenba@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>,
	Bob Peterson <rpeterso@redhat.com>,
	"Darrick J. Wong" <djwong@kernel.org>,
	Damien Le Moal <damien.lemoal@opensource.wdc.com>,
	Naohiro Aota <naohiro.aota@wdc.com>,
	Johannes Thumshirn <jth@kernel.org>,
	cluster-devel@redhat.com, linux-xfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 1/4] gfs2: stop using generic_writepages in gfs2_ail1_start_one
Date: Thu, 19 Jan 2023 07:22:13 +0100	[thread overview]
Message-ID: <20230119062213.GA17855@lst.de> (raw)
In-Reply-To: <CAHc6FU5A71L0r2k5z7QoBZe3pO+5G1nMNvKfGmJzprQWFyDCog@mail.gmail.com>

On Wed, Jan 18, 2023 at 10:22:20PM +0100, Andreas Gruenbacher wrote:
> The above change means that instead of calling generic_writepages(),
> we end up calling filemap_fdatawrite_wbc() -> do_writepages() ->
> mapping->a_ops->writepages(). But that's something completely
> different; the writepages address space operation operates is outward
> facing, while we really only want to write out the dirty buffers /
> pages in the underlying address space. In case of journaled data
> inodes, gfs2_jdata_writepages() actually ends up trying to create a
> filesystem transaction, which immediately hangs because we're in the
> middle of a log flush.
> 
> So I'm tempted to revert the following two of your commits; luckily
> that's independent from the iomap_writepage() removal:
> 
>   d3d71901b1ea ("gfs2: remove ->writepage")
>   b2b0a5e97855 ("gfs2: stop using generic_writepages in gfs2_ail1_start_one")

generic_writepages is gone in linux-next, and I'd really like to keep
it that way.  So if you have to do this, please open code it
using write_cache_pages and a direct call to the writepage method of
choice.

> I think we could go through iomap_writepages() instead of
> generic_writepages() here as well,  but that's for another day.

Well, that would obviously be much better, and actually help with the
goal of removing ->writepage.

  reply	other threads:[~2023-01-19  6:22 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-19  4:13 [Cluster-devel] remove iomap_writepage v2 Christoph Hellwig
2022-07-19  4:13 ` Christoph Hellwig
2022-07-19  4:13 ` [Cluster-devel] [PATCH 1/4] gfs2: stop using generic_writepages in gfs2_ail1_start_one Christoph Hellwig
2022-07-19  4:13   ` Christoph Hellwig
2023-01-18 21:22   ` [Cluster-devel] " Andreas Gruenbacher
2023-01-18 21:22     ` Andreas Gruenbacher
2023-01-19  6:22     ` Christoph Hellwig [this message]
2023-01-19  6:22       ` Christoph Hellwig
2022-07-19  4:13 ` [Cluster-devel] [PATCH 2/4] gfs2: remove ->writepage Christoph Hellwig
2022-07-19  4:13   ` Christoph Hellwig
2022-07-19  4:13 ` [Cluster-devel] [PATCH 3/4] zonefs: " Christoph Hellwig
2022-07-19  4:13   ` Christoph Hellwig
2022-07-19  6:56   ` [Cluster-devel] " Chaitanya Kulkarni
2022-07-19  6:56     ` Chaitanya Kulkarni
2022-07-19  4:13 ` [Cluster-devel] [PATCH 4/4] iomap: remove iomap_writepage Christoph Hellwig
2022-07-19  4:13   ` Christoph Hellwig
2022-07-19  6:56   ` [Cluster-devel] " Chaitanya Kulkarni
2022-07-19  6:56     ` Chaitanya Kulkarni
2022-07-22 17:56   ` [Cluster-devel] " Darrick J. Wong
2022-07-22 17:56     ` Darrick J. Wong
2022-07-28 11:10 ` [Cluster-devel] remove iomap_writepage v2 Jan Kara
2022-07-28 11:10   ` Jan Kara
2022-07-28 14:18   ` [Cluster-devel] " Matthew Wilcox
2022-07-28 14:18     ` Matthew Wilcox
2022-07-28 22:48     ` [Cluster-devel] " Dave Chinner
2022-07-28 22:48       ` Dave Chinner
2022-07-28 23:26       ` [Cluster-devel] " Yang Shi
2022-07-28 23:26         ` Yang Shi
2022-07-29  9:22   ` [Cluster-devel] " Mel Gorman
2022-07-29  9:22     ` Mel Gorman
2022-07-29 14:11     ` [Cluster-devel] " Christoph Hellwig
2022-07-29 14:11       ` Christoph Hellwig
2022-08-01 15:31       ` [Cluster-devel] " Johannes Weiner
2022-08-01 15:31         ` Johannes Weiner
2022-08-10 20:43         ` [Cluster-devel] " Matthew Wilcox
2022-08-10 20:43           ` Matthew Wilcox
2022-08-10 21:32           ` [Cluster-devel] " Andreas Grünbacher
2022-08-10 21:32             ` Andreas Grünbacher
2022-08-10 23:17             ` [Cluster-devel] " Matthew Wilcox
2022-08-10 23:17               ` Matthew Wilcox
2022-08-11  5:58           ` [Cluster-devel] " Christoph Hellwig
2022-08-11  5:58             ` Christoph Hellwig
  -- strict thread matches above, loose matches on Subject: below --
2022-07-11  4:14 [Cluster-devel] remove iomap_writepage Christoph Hellwig
2022-07-11  4:14 ` [Cluster-devel] [PATCH 1/4] gfs2: stop using generic_writepages in gfs2_ail1_start_one Christoph Hellwig
2022-07-11 10:27   ` Andreas Gruenbacher
2022-07-11 14:30     ` Christoph Hellwig

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=20230119062213.GA17855@lst.de \
    --to=hch@lst.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.