diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-04 14:22:20 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-04 14:22:20 -0700 |
commit | bd355f8ae6577aa6b444ab76bb1dfeb1a7002d9f (patch) | |
tree | b88b57915ccc335cb1391abf3da5fa59bd5e6ac5 /fs/ceph/addr.c | |
parent | 1c08232cfe5e68c6234305a3abb64d52d89c9ead (diff) | |
parent | fca65b4ad72d28cbb43a029114d04b89f06faadb (diff) | |
download | linux-bd355f8ae6577aa6b444ab76bb1dfeb1a7002d9f.tar.bz2 |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
ceph: do not call __mark_dirty_inode under i_lock
libceph: fix ceph_osdc_alloc_request error checks
ceph: handle ceph_osdc_new_request failure in ceph_writepages_start
libceph: fix ceph_msg_new error path
ceph: use ihold() when i_lock is held
Diffstat (limited to 'fs/ceph/addr.c')
-rw-r--r-- | fs/ceph/addr.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c index e159c529fd2b..38b8ab554924 100644 --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c @@ -775,6 +775,13 @@ get_more_pages: ci->i_truncate_seq, ci->i_truncate_size, &inode->i_mtime, true, 1, 0); + + if (!req) { + rc = -ENOMEM; + unlock_page(page); + break; + } + max_pages = req->r_num_pages; alloc_page_vec(fsc, req); |