Messages in this thread | | | From | Mike Marshall <> | Date | Wed, 11 Jul 2018 08:31:57 -0400 | Subject | Re: [PATCH] orangefs: Adding new return type vm_fault_t |
| |
Yes, I'd be happy to send it in at the 4.19 merge window...
-Mike
On Wed, Jul 11, 2018 at 1:56 AM, Souptick Joarder <jrdr.linux@gmail.com> wrote: > On Wed, Jul 11, 2018 at 1:13 AM, Mike Marshall <hubcap@omnibond.com> wrote: >> Hi... >> >> I applied this patch to 4.18.0-rc4. It applied cleanly and there's no xfstests >> regressions. Sorry if I held you up any... >> >> You can add: Tested-By: Mike Marshall <hubcap@omnibond.com> >> > > Thanks Mike. Can we get this patch in queue for 4.19 merge window ? > >> -Mike >> >> On Fri, Jul 6, 2018 at 10:05 AM, Mike Marshall <hubcap@omnibond.com> wrote: >>> Souptick Joarder: Any comment for this patch? >>> >>> Thanks for sending it <g>... >>> >>> I have it in my stack, but I haven't studied it, or xfstested it yet, so >>> no useful comments yet... >>> >>> -Mike >>> >>> >>> >>> On Fri, Jul 6, 2018 at 2:44 AM, Souptick Joarder <jrdr.linux@gmail.com> wrote: >>>> On Fri, Jun 29, 2018 at 12:12 AM, Souptick Joarder <jrdr.linux@gmail.com> 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@gmail.com> >>>>> --- >>>>> 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 ?
| |