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;

Reply via email to