Re: [PATCH] orangefs: Adding new return type vm_fault_t

From: Souptick Joarder
Date: Fri Jul 06 2018 - 02:44:54 EST


On Fri, Jun 29, 2018 at 12:12 AM, Souptick Joarder <jrdr.linux@xxxxxxxxx> 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.
>
> See the following
> commit 1c8f422059ae ("mm: change return type to vm_fault_t")
>
> Fixed checkpatch.pl warning.
>
> Signed-off-by: Souptick Joarder <jrdr.linux@xxxxxxxxx>
> ---
> fs/orangefs/file.c | 19 ++++++++++---------
> 1 file changed, 10 insertions(+), 9 deletions(-)
>
> diff --git a/fs/orangefs/file.c b/fs/orangefs/file.c
> index db0b521..a5a2fe7 100644
> --- a/fs/orangefs/file.c
> +++ b/fs/orangefs/file.c
> @@ -528,18 +528,19 @@ static long orangefs_ioctl(struct file *file, unsigned int cmd, unsigned long ar
> return ret;
> }
>
> -static int orangefs_fault(struct vm_fault *vmf)
> +static vm_fault_t orangefs_fault(struct vm_fault *vmf)
> {
> struct file *file = vmf->vma->vm_file;
> - int rc;
> - rc = orangefs_inode_getattr(file->f_mapping->host, 0, 1,
> + int ret;
> +
> + ret = orangefs_inode_getattr(file->f_mapping->host, 0, 1,
> STATX_SIZE);
> - if (rc == -ESTALE)
> - rc = -EIO;
> - if (rc) {
> - gossip_err("%s: orangefs_inode_getattr failed, "
> - "rc:%d:.\n", __func__, rc);
> - return rc;
> + if (ret == -ESTALE)
> + ret = -EIO;
> + if (ret) {
> + gossip_err("%s: orangefs_inode_getattr failed, ret:%d:.\n",
> + __func__, ret);
> + return VM_FAULT_SIGBUS;
> }
> return filemap_fault(vmf);
> }
> --
> 1.9.1
>

Any comment for this patch ?