From d4c9d342f64636304720d0091a605c85ea9f0e4d Mon Sep 17 00:00:00 2001 From: Anand Avati Date: Mon, 25 Nov 2013 03:13:17 -0800 Subject: write-behind: handle iobref_merge() error gracefully .. by UNWINDing ENOMEM error, rather than crashing. Change-Id: Ica2d6399eaf7e381e7ebc41155620559c139c4d3 BUG: 1034398 Signed-off-by: Anand Avati Reviewed-on: http://review.gluster.org/6349 Tested-by: Gluster Build System Reviewed-by: Amar Tumballi --- xlators/performance/write-behind/src/write-behind.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xlators/performance/write-behind/src/write-behind.c b/xlators/performance/write-behind/src/write-behind.c index 95c5921c6..2be211fbf 100644 --- a/xlators/performance/write-behind/src/write-behind.c +++ b/xlators/performance/write-behind/src/write-behind.c @@ -766,8 +766,9 @@ wb_fulfill_head (wb_inode_t *wb_inode, wb_request_t *head) list_for_each_entry (req, &head->winds, winds) { WB_IOV_LOAD (vector, count, req, head); - iobref_merge (head->stub->args.iobref, - req->stub->args.iobref); + if (iobref_merge (head->stub->args.iobref, + req->stub->args.iobref)) + goto err; } if (wb_fd_err (head->fd, this, NULL)) { -- cgit