CC: Greg Kroah-Hartman <[email protected]>
CC: Peng Tao <[email protected]>
CC: Andreas Dilger <[email protected]>
CC: [email protected]
Signed-off-by: Jan Kara <[email protected]>
---
drivers/staging/lustre/lustre/llite/rw26.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/lustre/lustre/llite/rw26.c b/drivers/staging/lustre/lustre/llite/rw26.c
index 96c29ad2fc8c..7e3e0967993b 100644
--- a/drivers/staging/lustre/lustre/llite/rw26.c
+++ b/drivers/staging/lustre/lustre/llite/rw26.c
@@ -202,11 +202,8 @@ static inline int ll_get_user_pages(int rw, unsigned long user_addr,
OBD_ALLOC_LARGE(*pages, *max_pages * sizeof(**pages));
if (*pages) {
- down_read(¤t->mm->mmap_sem);
- result = get_user_pages(current, current->mm, user_addr,
- *max_pages, (rw == READ), 0, *pages,
- NULL);
- up_read(¤t->mm->mmap_sem);
+ result = get_user_pages_fast(user_addr, *max_pages,
+ (rw == READ), *pages);
if (unlikely(result <= 0))
OBD_FREE_LARGE(*pages, *max_pages * sizeof(**pages));
}
--
1.8.1.4
On 2013/10/02 8:27 AM, "Jan Kara" <[email protected]> wrote:
>CC: Greg Kroah-Hartman <[email protected]>
>CC: Peng Tao <[email protected]>
>CC: Andreas Dilger <[email protected]>
>CC: [email protected]
>Signed-off-by: Jan Kara <[email protected]>
Acked-by: Andreas Dilger <[email protected]>
>---
> drivers/staging/lustre/lustre/llite/rw26.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
>diff --git a/drivers/staging/lustre/lustre/llite/rw26.c
>b/drivers/staging/lustre/lustre/llite/rw26.c
>index 96c29ad2fc8c..7e3e0967993b 100644
>--- a/drivers/staging/lustre/lustre/llite/rw26.c
>+++ b/drivers/staging/lustre/lustre/llite/rw26.c
>@@ -202,11 +202,8 @@ static inline int ll_get_user_pages(int rw, unsigned
>long user_addr,
>
> OBD_ALLOC_LARGE(*pages, *max_pages * sizeof(**pages));
> if (*pages) {
>- down_read(¤t->mm->mmap_sem);
>- result = get_user_pages(current, current->mm, user_addr,
>- *max_pages, (rw == READ), 0, *pages,
>- NULL);
>- up_read(¤t->mm->mmap_sem);
>+ result = get_user_pages_fast(user_addr, *max_pages,
>+ (rw == READ), *pages);
> if (unlikely(result <= 0))
> OBD_FREE_LARGE(*pages, *max_pages * sizeof(**pages));
> }
Cheers, Andreas
--
Andreas Dilger
Lustre Software Architect
Intel High Performance Data Division