All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kara <jack-AlSwsSmVLrQ@public.gmane.org>
To: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>
Cc: linux-xfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Dave Chinner <david-FqsqvQoI3Ljby3iVrkZq2A@public.gmane.org>,
	linux-nvdimm-y27Ovi1pjclAfugRpC6u6w@public.gmane.org
Subject: Re: [PATCH 06/10] dax: provide an iomap based fault handler
Date: Mon, 26 Sep 2016 16:28:42 +0200	[thread overview]
Message-ID: <20160926142842.GF7733@quack2.suse.cz> (raw)
In-Reply-To: <20160926000805.GA32252-jcswGhMUV9g@public.gmane.org>

On Mon 26-09-16 02:08:05, Christoph Hellwig wrote:
> On Fri, Sep 23, 2016 at 03:02:37PM -0600, Ross Zwisler wrote:
> > I can just add a hack to hop over the writeback in generic_file_read_iter(),
> > but I hesitate to do this because it seems like the correct thing to do is to
> > separate the ext4 DAX & DIO paths, which I think you are already doing.
> 
> I've started on it, and the read path works fine.  I'm a bit stuck on
> the write side as my attempts at it seems to corrupt data fairly easily
> when running xfstests.

Well, I have a bunch of data corruption fixes for DAX sitting in my tree
which I was able to trigger. E.g. there are some missing invalidations of
blockdev aliases, also some races between fault vs write path the can lead
to data loss. But at least the second fix requires clearing of dirty bits
in the radix tree for DAX and that is a big pile of patches I have to sift
through mm people (and related mm parts are in constant churn due to PMD
pages in pagecache work so it is a mess).

> > I believe that my DAX PMD patches are ready to go, but because of this issue
> > they currently only support XFS.  I'm tempted to send them out as they are
> > right now since they add a bunch of complexity to DAX that we need to review,
> > and that review can fully happen with only XFS support. We can add ext4
> > support back in later when it's ready.
> 
> Yes, please send them out.  We really should move ext4 over to iomap for
> DAX.  I'd love to get some help from someone more familar with ext4,
> and can send my code dump to get started.

Yeah, I'd also just implement it for iomap path and XFS as a start and then
I'll port ext4 over to iomap infrastructure for DAX. There should be no
principial problem.

									Honza
-- 
Jan Kara <jack-IBi9RG/b67k@public.gmane.org>
SUSE Labs, CR

WARNING: multiple messages have this Message-ID (diff)
From: Jan Kara <jack@suse.cz>
To: Christoph Hellwig <hch@lst.de>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>,
	Dave Chinner <david@fromorbit.com>,
	linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-nvdimm@ml01.01.org
Subject: Re: [PATCH 06/10] dax: provide an iomap based fault handler
Date: Mon, 26 Sep 2016 16:28:42 +0200	[thread overview]
Message-ID: <20160926142842.GF7733@quack2.suse.cz> (raw)
In-Reply-To: <20160926000805.GA32252@lst.de>

On Mon 26-09-16 02:08:05, Christoph Hellwig wrote:
> On Fri, Sep 23, 2016 at 03:02:37PM -0600, Ross Zwisler wrote:
> > I can just add a hack to hop over the writeback in generic_file_read_iter(),
> > but I hesitate to do this because it seems like the correct thing to do is to
> > separate the ext4 DAX & DIO paths, which I think you are already doing.
> 
> I've started on it, and the read path works fine.  I'm a bit stuck on
> the write side as my attempts at it seems to corrupt data fairly easily
> when running xfstests.

Well, I have a bunch of data corruption fixes for DAX sitting in my tree
which I was able to trigger. E.g. there are some missing invalidations of
blockdev aliases, also some races between fault vs write path the can lead
to data loss. But at least the second fix requires clearing of dirty bits
in the radix tree for DAX and that is a big pile of patches I have to sift
through mm people (and related mm parts are in constant churn due to PMD
pages in pagecache work so it is a mess).

> > I believe that my DAX PMD patches are ready to go, but because of this issue
> > they currently only support XFS.  I'm tempted to send them out as they are
> > right now since they add a bunch of complexity to DAX that we need to review,
> > and that review can fully happen with only XFS support. We can add ext4
> > support back in later when it's ready.
> 
> Yes, please send them out.  We really should move ext4 over to iomap for
> DAX.  I'd love to get some help from someone more familar with ext4,
> and can send my code dump to get started.

Yeah, I'd also just implement it for iomap path and XFS as a start and then
I'll port ext4 over to iomap infrastructure for DAX. There should be no
principial problem.

									Honza
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR

  parent reply	other threads:[~2016-09-26 14:28 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-09 16:34 iomap based DAX path Christoph Hellwig
     [not found] ` <1473438884-674-1-git-send-email-hch-jcswGhMUV9g@public.gmane.org>
2016-09-09 16:34   ` [PATCH 01/10] iomap: add IOMAP_F_NEW flag Christoph Hellwig
2016-09-09 16:34     ` Christoph Hellwig
     [not found]     ` <1473438884-674-2-git-send-email-hch-jcswGhMUV9g@public.gmane.org>
2016-09-13 22:43       ` Ross Zwisler
2016-09-13 22:43         ` Ross Zwisler
2016-09-14  7:08         ` Christoph Hellwig
2016-09-09 16:34   ` [PATCH 02/10] iomap: expose iomap_apply outside iomap.c Christoph Hellwig
2016-09-09 16:34     ` Christoph Hellwig
     [not found]     ` <1473438884-674-3-git-send-email-hch-jcswGhMUV9g@public.gmane.org>
2016-09-13 22:48       ` Ross Zwisler
2016-09-13 22:48         ` Ross Zwisler
2016-09-09 16:34   ` [PATCH 03/10] dax: don't pass buffer_head to dax_insert_mapping Christoph Hellwig
2016-09-09 16:34     ` Christoph Hellwig
     [not found]     ` <1473438884-674-4-git-send-email-hch-jcswGhMUV9g@public.gmane.org>
2016-09-13 22:53       ` Ross Zwisler
2016-09-13 22:53         ` Ross Zwisler
2016-09-09 16:34   ` [PATCH 04/10] dax: don't pass buffer_head to copy_user_dax Christoph Hellwig
2016-09-09 16:34     ` Christoph Hellwig
2016-09-13 22:54     ` Ross Zwisler
2016-09-09 16:34   ` [PATCH 05/10] dax: provide an iomap based dax read/write path Christoph Hellwig
2016-09-09 16:34     ` Christoph Hellwig
     [not found]     ` <1473438884-674-6-git-send-email-hch-jcswGhMUV9g@public.gmane.org>
2016-09-13 23:00       ` Ross Zwisler
2016-09-13 23:00         ` Ross Zwisler
2016-09-09 16:34   ` [PATCH 06/10] dax: provide an iomap based fault handler Christoph Hellwig
2016-09-09 16:34     ` Christoph Hellwig
     [not found]     ` <1473438884-674-7-git-send-email-hch-jcswGhMUV9g@public.gmane.org>
2016-09-09 22:55       ` Dave Chinner
2016-09-09 22:55         ` Dave Chinner
2016-09-10  7:36         ` Christoph Hellwig
2016-09-10  7:36           ` Christoph Hellwig
2016-09-13 15:51           ` Ross Zwisler
     [not found]             ` <20160913155126.GA10622-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2016-09-14  7:06               ` Christoph Hellwig
2016-09-14  7:06                 ` Christoph Hellwig
     [not found]                 ` <20160914070633.GA17278-jcswGhMUV9g@public.gmane.org>
2016-09-14  9:53                   ` Christoph Hellwig
2016-09-14  9:53                     ` Christoph Hellwig
2016-09-23 21:02                   ` Ross Zwisler
2016-09-23 21:02                     ` Ross Zwisler
     [not found]                     ` <20160923210237.GA23346-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2016-09-26  0:08                       ` Christoph Hellwig
2016-09-26  0:08                         ` Christoph Hellwig
     [not found]                         ` <20160926000805.GA32252-jcswGhMUV9g@public.gmane.org>
2016-09-26 14:28                           ` Jan Kara [this message]
2016-09-26 14:28                             ` Jan Kara
2016-09-10  1:38       ` Elliott, Robert (Persistent Memory)
2016-09-10  1:38         ` Elliott, Robert (Persistent Memory)
2016-09-13 23:10     ` Ross Zwisler
     [not found]       ` <20160913231039.GF26002-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2016-09-14  7:19         ` Christoph Hellwig
2016-09-14  7:19           ` Christoph Hellwig
     [not found]           ` <20160914071910.GC17278-jcswGhMUV9g@public.gmane.org>
2016-09-14 17:07             ` Ross Zwisler
2016-09-14 17:07               ` Ross Zwisler
     [not found]               ` <20160914170759.GA14196-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2016-09-15  5:12                 ` Christoph Hellwig
2016-09-15  5:12                   ` Christoph Hellwig
     [not found]                   ` <20160915051229.GD6188-jcswGhMUV9g@public.gmane.org>
2016-09-15  5:30                     ` Darrick J. Wong
2016-09-15  5:30                       ` Darrick J. Wong
2016-09-26  0:05               ` Christoph Hellwig
2016-09-09 16:34   ` [PATCH 07/10] xfs: fix locking for DAX writes Christoph Hellwig
2016-09-09 16:34     ` Christoph Hellwig
2016-09-09 16:34   ` [PATCH 08/10] xfs: take the ilock shared if possible in xfs_file_iomap_begin Christoph Hellwig
2016-09-09 16:34     ` Christoph Hellwig
2016-09-09 16:34 ` [PATCH 09/10] xfs: refactor xfs_setfilesize Christoph Hellwig
     [not found]   ` <1473438884-674-10-git-send-email-hch-jcswGhMUV9g@public.gmane.org>
2016-09-13 23:12     ` Ross Zwisler
2016-09-13 23:12       ` Ross Zwisler
2016-09-09 16:34 ` [PATCH 10/10] xfs: use iomap to implement DAX 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=20160926142842.GF7733@quack2.suse.cz \
    --to=jack-alswssmvlrq@public.gmane.org \
    --cc=david-FqsqvQoI3Ljby3iVrkZq2A@public.gmane.org \
    --cc=hch-jcswGhMUV9g@public.gmane.org \
    --cc=linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-nvdimm-y27Ovi1pjclAfugRpC6u6w@public.gmane.org \
    --cc=linux-xfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /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.