From de249c94e3a23c401a82d2d595162b3276aa0741 Mon Sep 17 00:00:00 2001 From: Boaz Harrosh Date: Fri, 8 Jun 2012 05:29:40 +0300 Subject: [PATCH] --- yaml --- r: 312103 b: refs/heads/master c: 9909d45a8557455ca5f8ee7af0f253debc851f1a h: refs/heads/master i: 312101: fbf99c021a1620ed870beba146b8454ca429fbbc 312099: 0dfca2e5ffc3300e6bfc9b05efeb929c7fe6323f 312095: 7439b5690ca54fde7f93d4c73cf0217d3163fafb v: v3 --- [refs] | 2 +- trunk/fs/nfs/objlayout/objio_osd.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 33dc2d752638..8f8457c6e2dd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 537632e0a54a5355cdd0330911d18c3b773f9cf7 +refs/heads/master: 9909d45a8557455ca5f8ee7af0f253debc851f1a diff --git a/trunk/fs/nfs/objlayout/objio_osd.c b/trunk/fs/nfs/objlayout/objio_osd.c index b47277baebab..86d7595aca8f 100644 --- a/trunk/fs/nfs/objlayout/objio_osd.c +++ b/trunk/fs/nfs/objlayout/objio_osd.c @@ -454,7 +454,10 @@ int objio_read_pagelist(struct nfs_read_data *rdata) objios->ios->done = _read_done; dprintk("%s: offset=0x%llx length=0x%x\n", __func__, rdata->args.offset, rdata->args.count); - return ore_read(objios->ios); + ret = ore_read(objios->ios); + if (unlikely(ret)) + objio_free_result(&objios->oir); + return ret; } /* @@ -539,8 +542,10 @@ int objio_write_pagelist(struct nfs_write_data *wdata, int how) dprintk("%s: offset=0x%llx length=0x%x\n", __func__, wdata->args.offset, wdata->args.count); ret = ore_write(objios->ios); - if (unlikely(ret)) + if (unlikely(ret)) { + objio_free_result(&objios->oir); return ret; + } if (objios->sync) _write_done(objios->ios, objios);