瀏覽代碼

ceph: handle ceph_osdc_new_request failure in ceph_writepages_start

We should unlock the page and return -ENOMEM if ceph_osdc_new_request
failed.

Signed-off-by: Henry C Chang <henry_c_chang@tcloudcomputing.com>
Signed-off-by: Sage Weil <sage@newdream.net>
Henry C Chang 14 年之前
父節點
當前提交
8c71897be2
共有 1 個文件被更改,包括 7 次插入0 次删除
  1. 7 0
      fs/ceph/addr.c

+ 7 - 0
fs/ceph/addr.c

@@ -775,6 +775,13 @@ get_more_pages:
 					    ci->i_truncate_seq,
 					    ci->i_truncate_seq,
 					    ci->i_truncate_size,
 					    ci->i_truncate_size,
 					    &inode->i_mtime, true, 1, 0);
 					    &inode->i_mtime, true, 1, 0);
+
+				if (!req) {
+					rc = -ENOMEM;
+					unlock_page(page);
+					break;
+				}
+
 				max_pages = req->r_num_pages;
 				max_pages = req->r_num_pages;
 
 
 				alloc_page_vec(fsc, req);
 				alloc_page_vec(fsc, req);