[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160922065943.GA2834@quack2.suse.cz>
Date: Thu, 22 Sep 2016 08:59:43 +0200
From: Jan Kara <jack@...e.cz>
To: Ross Zwisler <ross.zwisler@...ux.intel.com>
Cc: Theodore Ts'o <tytso@....edu>, Jan Kara <jack@...e.cz>,
linux-kernel@...r.kernel.org,
Alexander Viro <viro@...iv.linux.org.uk>,
Andreas Dilger <adilger.kernel@...ger.ca>,
Andrew Morton <akpm@...ux-foundation.org>,
Dan Williams <dan.j.williams@...el.com>,
Dave Chinner <david@...morbit.com>, Jan Kara <jack@...e.com>,
linux-ext4@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-mm@...ck.org, linux-nvdimm@...ts.01.org,
Matthew Wilcox <mawilcox@...rosoft.com>, stable@...r.kernel.org
Subject: Re: [PATCH v2 1/9] ext4: allow DAX writeback for hole punch
On Wed 21-09-16 09:22:44, Ross Zwisler wrote:
> On Tue, Aug 23, 2016 at 04:04:11PM -0600, Ross Zwisler wrote:
> > Currently when doing a DAX hole punch with ext4 we fail to do a writeback.
> > This is because the logic around filemap_write_and_wait_range() in
> > ext4_punch_hole() only looks for dirty page cache pages in the radix tree,
> > not for dirty DAX exceptional entries.
> >
> > Signed-off-by: Ross Zwisler <ross.zwisler@...ux.intel.com>
> > Reviewed-by: Jan Kara <jack@...e.cz>
> > Cc: <stable@...r.kernel.org>
>
> Ted & Jan,
>
> I'm still working on the latest version of the PMD work which integrates with
> the new struct iomap faults. At this point it doesn't look like I'm going to
> make v4.9, but I think that this bug fix at least should probably go in alone?
Yeah. Ted, feel free to add:
Reviewed-by: Jan Kara <jack@...e.cz>
and merge this change. Thanks!
Honza
> > fs/ext4/inode.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
> > index 3131747..0900cb4 100644
> > --- a/fs/ext4/inode.c
> > +++ b/fs/ext4/inode.c
> > @@ -3890,7 +3890,7 @@ int ext4_update_disksize_before_punch(struct inode *inode, loff_t offset,
> > }
> >
> > /*
> > - * ext4_punch_hole: punches a hole in a file by releaseing the blocks
> > + * ext4_punch_hole: punches a hole in a file by releasing the blocks
> > * associated with the given offset and length
> > *
> > * @inode: File inode
> > @@ -3919,7 +3919,7 @@ int ext4_punch_hole(struct inode *inode, loff_t offset, loff_t length)
> > * Write out all dirty pages to avoid race conditions
> > * Then release them.
> > */
> > - if (mapping->nrpages && mapping_tagged(mapping, PAGECACHE_TAG_DIRTY)) {
> > + if (mapping_tagged(mapping, PAGECACHE_TAG_DIRTY)) {
> > ret = filemap_write_and_wait_range(mapping, offset,
> > offset + length - 1);
> > if (ret)
> > --
> > 2.9.0
> >
--
Jan Kara <jack@...e.com>
SUSE Labs, CR
Powered by blists - more mailing lists