diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2010-05-25 09:06:06 -0400 |
---|---|---|
committer | Miklos Szeredi <mszeredi@suse.cz> | 2010-05-25 09:06:06 -0400 |
commit | 1bf94ca73ea524228b864275efa44373ebb939a0 (patch) | |
tree | 6ad0f17f4da1f1dd8a1aae2c77e5865fb5f42f33 /fs | |
parent | 4aa0edd294f69e3100973a0ecfa1e6b5ab42d83a (diff) |
fuse: use get_user_pages_fast()
Replace uses of get_user_pages() with get_user_pages_fast(). It looks
nicer and should be faster in most cases.
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/fuse/dev.c | 5 | ||||
-rw-r--r-- | fs/fuse/file.c | 5 |
2 files changed, 2 insertions, 8 deletions
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index eb7e9423691f..4623018e104a 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c | |||
@@ -551,10 +551,7 @@ static int fuse_copy_fill(struct fuse_copy_state *cs) | |||
551 | cs->iov++; | 551 | cs->iov++; |
552 | cs->nr_segs--; | 552 | cs->nr_segs--; |
553 | } | 553 | } |
554 | down_read(¤t->mm->mmap_sem); | 554 | err = get_user_pages_fast(cs->addr, 1, cs->write, &cs->pg); |
555 | err = get_user_pages(current, current->mm, cs->addr, 1, cs->write, 0, | ||
556 | &cs->pg, NULL); | ||
557 | up_read(¤t->mm->mmap_sem); | ||
558 | if (err < 0) | 555 | if (err < 0) |
559 | return err; | 556 | return err; |
560 | BUG_ON(err != 1); | 557 | BUG_ON(err != 1); |
diff --git a/fs/fuse/file.c b/fs/fuse/file.c index 4172bfee0f1a..29bda0564e69 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c | |||
@@ -994,10 +994,7 @@ static int fuse_get_user_pages(struct fuse_req *req, const char __user *buf, | |||
994 | nbytes = min_t(size_t, nbytes, FUSE_MAX_PAGES_PER_REQ << PAGE_SHIFT); | 994 | nbytes = min_t(size_t, nbytes, FUSE_MAX_PAGES_PER_REQ << PAGE_SHIFT); |
995 | npages = (nbytes + offset + PAGE_SIZE - 1) >> PAGE_SHIFT; | 995 | npages = (nbytes + offset + PAGE_SIZE - 1) >> PAGE_SHIFT; |
996 | npages = clamp(npages, 1, FUSE_MAX_PAGES_PER_REQ); | 996 | npages = clamp(npages, 1, FUSE_MAX_PAGES_PER_REQ); |
997 | down_read(¤t->mm->mmap_sem); | 997 | npages = get_user_pages_fast(user_addr, npages, !write, req->pages); |
998 | npages = get_user_pages(current, current->mm, user_addr, npages, !write, | ||
999 | 0, req->pages, NULL); | ||
1000 | up_read(¤t->mm->mmap_sem); | ||
1001 | if (npages < 0) | 998 | if (npages < 0) |
1002 | return npages; | 999 | return npages; |
1003 | 1000 | ||