[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 10 Oct 2016 17:50:04 +0200
From: Christoph Hellwig <hch@....de>
To: Ross Zwisler <ross.zwisler@...ux.intel.com>
Cc: linux-kernel@...r.kernel.org, Theodore Ts'o <tytso@....edu>,
Alexander Viro <viro@...iv.linux.org.uk>,
Andreas Dilger <adilger.kernel@...ger.ca>,
Andrew Morton <akpm@...ux-foundation.org>,
Christoph Hellwig <hch@....de>,
Dan Williams <dan.j.williams@...el.com>,
Dave Chinner <david@...morbit.com>, Jan Kara <jack@...e.com>,
Matthew Wilcox <mawilcox@...rosoft.com>,
linux-ext4@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-mm@...ck.org, linux-nvdimm@...ts.01.org,
linux-xfs@...r.kernel.org
Subject: Re: [PATCH v5 13/17] dax: dax_iomap_fault() needs to call
iomap_end()
On Fri, Oct 07, 2016 at 03:09:00PM -0600, Ross Zwisler wrote:
> Currently iomap_end() doesn't do anything for DAX page faults for both ext2
> and XFS. ext2_iomap_end() just checks for a write underrun, and
> xfs_file_iomap_end() checks to see if it needs to finish a delayed
> allocation. However, in the future iomap_end() calls might be needed to
> make sure we have balanced allocations, locks, etc. So, add calls to
> iomap_end() with appropriate error handling to dax_iomap_fault().
Is there a way to just have a single call to iomap_end at the end of
the function, after which we just return a previosuly setup return
value?
e.g.
out:
if (ops->iomap_end) {
error = ops->iomap_end(inode, pos, PAGE_SIZE,
PAGE_SIZE, flags, &iomap);
}
if (error == -ENOMEM)
return VM_FAULT_OOM | major;
if (error < 0 && error != -EBUSY)
return VM_FAULT_SIGBUS | major;
return ret;
Powered by blists - more mailing lists