libceph: fix handling of short returns from get_user_pages
authorSage Weil <sage@newdream.net>
Thu, 3 Mar 2011 00:55:21 +0000 (16:55 -0800)
committerSage Weil <sage@newdream.net>
Thu, 3 Mar 2011 21:47:39 +0000 (13:47 -0800)
commit38815b780285a4957852c5c9dbe94991c0b26c56
tree032d882544ef73d2e99208de7a6e6340df3d31ea
parent16a8b70a5a757db513f036bbcc73309f6c507d81
libceph: fix handling of short returns from get_user_pages

get_user_pages() can return fewer pages than we ask for.  We were returning
a bogus pointer/error code in that case.  Instead, loop until we get all
the pages we want or get an error we can return to the caller.

Signed-off-by: Sage Weil <sage@newdream.net>
net/ceph/pagevec.c