* [lustre-devel] [PATCH v2] staging: lustre: Change return type to vm_fault_t
@ 2018-05-16 18:57 Souptick Joarder
2018-05-20 12:42 ` Greg KH
0 siblings, 1 reply; 3+ messages in thread
From: Souptick Joarder @ 2018-05-16 18:57 UTC (permalink / raw)
To: lustre-devel
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")
Signed-off-by: Souptick Joarder <jrdr.linux@gmail.com>
---
v2: updated the change log
drivers/staging/lustre/lustre/llite/llite_mmap.c | 35 ++++++++++++------------
1 file changed, 18 insertions(+), 17 deletions(-)
diff --git a/drivers/staging/lustre/lustre/llite/llite_mmap.c b/drivers/staging/lustre/lustre/llite/llite_mmap.c
index c0533bd..5b8fd10 100644
--- a/drivers/staging/lustre/lustre/llite/llite_mmap.c
+++ b/drivers/staging/lustre/lustre/llite/llite_mmap.c
@@ -231,7 +231,7 @@ static int ll_page_mkwrite0(struct vm_area_struct *vma, struct page *vmpage,
return result;
}
-static inline int to_fault_error(int result)
+static inline vm_fault_t to_fault_error(int result)
{
switch (result) {
case 0:
@@ -261,7 +261,7 @@ static inline int to_fault_error(int result)
* \retval VM_FAULT_ERROR on general error
* \retval NOPAGE_OOM not have memory for allocate new page
*/
-static int ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf)
+static vm_fault_t ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf)
{
struct lu_env *env;
struct cl_io *io;
@@ -269,16 +269,16 @@ static int ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf)
struct page *vmpage;
unsigned long ra_flags;
int result = 0;
- int fault_ret = 0;
+ vm_fault_t fault_ret = 0;
u16 refcheck;
env = cl_env_get(&refcheck);
if (IS_ERR(env))
- return PTR_ERR(env);
+ return VM_FAULT_ERROR;
io = ll_fault_io_init(env, vma, vmf->pgoff, &ra_flags);
if (IS_ERR(io)) {
- result = to_fault_error(PTR_ERR(io));
+ fault_ret = to_fault_error(PTR_ERR(io));
goto out;
}
@@ -319,15 +319,15 @@ static int ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf)
if (result != 0 && !(fault_ret & VM_FAULT_RETRY))
fault_ret |= to_fault_error(result);
- CDEBUG(D_MMAP, "%s fault %d/%d\n", current->comm, fault_ret, result);
+ CDEBUG(D_MMAP, "%s fault %x/%d\n", current->comm, fault_ret, result);
return fault_ret;
}
-static int ll_fault(struct vm_fault *vmf)
+static vm_fault_t ll_fault(struct vm_fault *vmf)
{
int count = 0;
bool printed = false;
- int result;
+ vm_fault_t result;
sigset_t set;
/* Only SIGKILL and SIGTERM are allowed for fault/nopage/mkwrite
@@ -364,18 +364,19 @@ static int ll_fault(struct vm_fault *vmf)
return result;
}
-static int ll_page_mkwrite(struct vm_fault *vmf)
+static vm_fault_t ll_page_mkwrite(struct vm_fault *vmf)
{
struct vm_area_struct *vma = vmf->vma;
int count = 0;
bool printed = false;
bool retry;
- int result;
+ int err;
+ vm_fault_t ret;
file_update_time(vma->vm_file);
do {
retry = false;
- result = ll_page_mkwrite0(vma, vmf->page, &retry);
+ err = ll_page_mkwrite0(vma, vmf->page, &retry);
if (!printed && ++count > 16) {
const struct dentry *de = vma->vm_file->f_path.dentry;
@@ -387,25 +388,25 @@ static int ll_page_mkwrite(struct vm_fault *vmf)
}
} while (retry);
- switch (result) {
+ switch (err) {
case 0:
LASSERT(PageLocked(vmf->page));
- result = VM_FAULT_LOCKED;
+ ret = VM_FAULT_LOCKED;
break;
case -ENODATA:
case -EAGAIN:
case -EFAULT:
- result = VM_FAULT_NOPAGE;
+ ret = VM_FAULT_NOPAGE;
break;
case -ENOMEM:
- result = VM_FAULT_OOM;
+ ret = VM_FAULT_OOM;
break;
default:
- result = VM_FAULT_SIGBUS;
+ ret = VM_FAULT_SIGBUS;
break;
}
- return result;
+ return ret;
}
/**
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [lustre-devel] [PATCH v2] staging: lustre: Change return type to vm_fault_t
2018-05-16 18:57 [lustre-devel] [PATCH v2] staging: lustre: Change return type to vm_fault_t Souptick Joarder
@ 2018-05-20 12:42 ` Greg KH
2018-05-21 18:00 ` Souptick Joarder
0 siblings, 1 reply; 3+ messages in thread
From: Greg KH @ 2018-05-20 12:42 UTC (permalink / raw)
To: lustre-devel
On Thu, May 17, 2018 at 12:27:11AM +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")
>
What does that line mean? Please be more descriptive.
confused,
greg k-h
^ permalink raw reply [flat|nested] 3+ messages in thread
* [lustre-devel] [PATCH v2] staging: lustre: Change return type to vm_fault_t
2018-05-20 12:42 ` Greg KH
@ 2018-05-21 18:00 ` Souptick Joarder
0 siblings, 0 replies; 3+ messages in thread
From: Souptick Joarder @ 2018-05-21 18:00 UTC (permalink / raw)
To: lustre-devel
On Sun, May 20, 2018 at 6:12 PM, Greg KH <gregkh@linuxfoundation.org> wrote:
> On Thu, May 17, 2018 at 12:27:11AM +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")
>>
>
> What does that line mean? Please be more descriptive.
>
> confused,
>
> greg k-h
Sure, will send v3 with more description.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-05-21 18:00 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-16 18:57 [lustre-devel] [PATCH v2] staging: lustre: Change return type to vm_fault_t Souptick Joarder
2018-05-20 12:42 ` Greg KH
2018-05-21 18:00 ` Souptick Joarder
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.