From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: Jan Kara <jack@suse.cz>
Cc: Ted Tso <tytso@mit.edu>,
linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org,
Christoph Hellwig <hch@infradead.org>,
Ross Zwisler <ross.zwisler@linux.intel.com>
Subject: Re: [PATCH 11/11] dax: Rip out get_block based IO support
Date: Wed, 16 Nov 2016 11:11:50 -0700 [thread overview]
Message-ID: <20161116181150.GC31337@linux.intel.com> (raw)
In-Reply-To: <1478603297-11793-12-git-send-email-jack@suse.cz>
On Tue, Nov 08, 2016 at 12:08:17PM +0100, Jan Kara wrote:
> No one uses functions using the get_block callback anymore. Rip them
> out and update documentation.
>
> Signed-off-by: Jan Kara <jack@suse.cz>
> ---
> Documentation/filesystems/dax.txt | 21 ++-
> fs/dax.c | 315 --------------------------------------
> include/linux/dax.h | 12 --
> 3 files changed, 10 insertions(+), 338 deletions(-)
>
> diff --git a/Documentation/filesystems/dax.txt b/Documentation/filesystems/dax.txt
> index 23d18b8a49d5..b870867d0321 100644
> --- a/Documentation/filesystems/dax.txt
> +++ b/Documentation/filesystems/dax.txt
> @@ -58,22 +58,21 @@ Implementation Tips for Filesystem Writers
> Filesystem support consists of
> - adding support to mark inodes as being DAX by setting the S_DAX flag in
> i_flags
> -- implementing the direct_IO address space operation, and calling
> - dax_do_io() instead of blockdev_direct_IO() if S_DAX is set
> +- implementing ->read_iter and ->write_iter operations which use dax_iomap_rw()
> + when inode has S_DAX flag set
> - implementing an mmap file operation for DAX files which sets the
> VM_MIXEDMAP and VM_HUGEPAGE flags on the VMA, and setting the vm_ops to
> - include handlers for fault, pmd_fault and page_mkwrite (which should
> - probably call dax_fault(), dax_pmd_fault() and dax_mkwrite(), passing the
> - appropriate get_block() callback)
> -- calling dax_truncate_page() instead of block_truncate_page() for DAX files
> -- calling dax_zero_page_range() instead of zero_user() for DAX files
> + include handlers for fault, pmd_fault, page_mkwrite, pfn_mkwrite (which
> + should probably call dax_iomap_fault(), dax_iomap_pmd_fault(),
> + dax_pfn_mkwrite() passing the appropriate iomap operations)
One tiny nit - the list of operations that the filesystem needs to support is
4 entries long (fault, pmd_fault, page_mkwrite, pfn_mkwrite), but the list of
functions in DAX to call is only 3 entries long (dax_iomap_fault(),
dax_iomap_pmd_fault(), dax_pfn_mkwrite()) This is probably because both
fault() and page_mkwrite() end up calling dax_iomap_fault(). Can you please
add a little text to make this clearer?
Yay for getting rid of the old buffer_head based DAX code!
Reviewed-by: Ross Zwisler <ross.zwisler@linux.intel.com>
next prev parent reply other threads:[~2016-11-16 18:11 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-08 11:08 [PATCH 0/11 v2] ext4: Convert ext4 DAX IO to iomap framework Jan Kara
2016-11-08 11:08 ` [PATCH 01/11] ext4: Factor out checks from ext4_file_write_iter() Jan Kara
2016-11-10 21:25 ` Ross Zwisler
2016-11-08 11:08 ` [PATCH 02/11] ext4: Let S_DAX set only if DAX is really supported Jan Kara
2016-11-10 21:46 ` Ross Zwisler
2016-11-11 10:08 ` Jan Kara
2016-11-11 17:56 ` Ross Zwisler
2016-11-08 11:08 ` [PATCH 03/11] ext4: Convert DAX reads to iomap infrastructure Jan Kara
2016-11-10 21:54 ` Ross Zwisler
2016-11-11 10:17 ` Jan Kara
2016-11-11 17:57 ` Ross Zwisler
2016-11-08 11:08 ` [PATCH 04/11] ext4: Use iomap for zeroing blocks in DAX mode Jan Kara
2016-11-10 22:05 ` Ross Zwisler
2016-11-08 11:08 ` [PATCH 05/11] ext4: DAX iomap write support Jan Kara
2016-11-08 11:08 ` [PATCH 06/11] ext4: Avoid split extents for DAX writes Jan Kara
2016-11-11 20:25 ` Ross Zwisler
2016-11-14 8:54 ` Jan Kara
2016-11-08 11:08 ` [PATCH 07/11] dax: Introduce IOMAP_FAULT flag Jan Kara
2016-11-08 23:21 ` Dave Chinner
2016-11-09 15:03 ` Christoph Hellwig
2016-11-08 11:08 ` [PATCH 08/11] ext4: Convert DAX faults to iomap infrastructure Jan Kara
2016-11-08 11:08 ` [PATCH 09/11] ext4: Rip out DAX handling from direct IO path Jan Kara
2016-11-16 17:13 ` Ross Zwisler
2016-11-17 9:41 ` Jan Kara
2016-11-08 11:08 ` [PATCH 10/11] ext2: Use iomap_zero_range() for zeroing truncated page in DAX path Jan Kara
2016-11-16 17:31 ` Ross Zwisler
2016-11-08 11:08 ` [PATCH 11/11] dax: Rip out get_block based IO support Jan Kara
2016-11-16 18:11 ` Ross Zwisler [this message]
2016-11-17 9:45 ` Jan Kara
2016-11-08 23:17 ` [PATCH 0/11 v2] ext4: Convert ext4 DAX IO to iomap framework Dave Chinner
2016-11-09 15:02 ` Christoph Hellwig
2016-11-09 23:22 ` Dave Chinner
-- strict thread matches above, loose matches on Subject: below --
2016-11-01 21:06 [PATCH 0/11] " Jan Kara
[not found] ` <1478034381-19037-1-git-send-email-jack-AlSwsSmVLrQ@public.gmane.org>
2016-11-01 21:06 ` [PATCH 11/11] dax: Rip out get_block based IO support Jan Kara
2016-11-01 21:06 ` Jan Kara
2016-11-01 21:06 ` Jan Kara
[not found] ` <1478034381-19037-12-git-send-email-jack-AlSwsSmVLrQ@public.gmane.org>
2016-11-02 14:31 ` Christoph Hellwig
2016-11-02 14:31 ` Christoph Hellwig
2016-11-04 0:03 ` Jan Kara
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=20161116181150.GC31337@linux.intel.com \
--to=ross.zwisler@linux.intel.com \
--cc=hch@infradead.org \
--cc=jack@suse.cz \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=tytso@mit.edu \
/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.