Re: [PATCH v3] fs: dax: Adding new return type vm_fault_t

From: Matthew Wilcox
Date: Sat Apr 21 2018 - 17:34:37 EST


On Sun, Apr 22, 2018 at 02:35:29AM +0530, Souptick Joarder wrote:
> Use new return type vm_fault_t for fault handler. For
> now, this is just documenting that the function returns
> a VM_FAULT value rather than an errno. Once all instances
> are converted, vm_fault_t will become a distinct type.
>
> commit 1c8f422059ae ("mm: change return type to vm_fault_t")
>
> There was an existing bug inside dax_load_hole()
> if vm_insert_mixed had failed to allocate a page table,
> we'd return VM_FAULT_NOPAGE instead of VM_FAULT_OOM.
> With new vmf_insert_mixed() this issue is addressed.
>
> vm_insert_mixed_mkwrite has inefficiency when it returns
> an error value, driver has to convert it to vm_fault_t
> type. With new vmf_insert_mixed_mkwrite() this limitation
> will be addressed.
>
> As new function vmf_insert_mixed_mkwrite() only called
> from fs/dax.c, so keeping both the changes in a single
> patch.
>
> Signed-off-by: Souptick Joarder <jrdr.linux@xxxxxxxxx>

Reviewed-by: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx>

There's a couple of minor things which could be tidied up, but not worth
doing them as a revision to this patch.