lkml.org 
[lkml]   [2012]   [Jul]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[ 070/108] pnfs-obj: dont leak objio_state if ore_write/read fails
    3.2-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Boaz Harrosh <bharrosh@panasas.com>

    commit 9909d45a8557455ca5f8ee7af0f253debc851f1a upstream.

    [Bug since 3.2 Kernel]
    Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    fs/nfs/objlayout/objio_osd.c | 9 +++++++--
    1 file changed, 7 insertions(+), 2 deletions(-)

    diff --git a/fs/nfs/objlayout/objio_osd.c b/fs/nfs/objlayout/objio_osd.c
    index b47277b..86d7595 100644
    --- a/fs/nfs/objlayout/objio_osd.c
    +++ b/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);



    \
     
     \ /
      Last update: 2012-07-23 04:42    [W:0.024 / U:30.212 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site