mirror of
https://github.com/torvalds/linux.git
synced 2026-06-10 07:32:29 +02:00
pnfs-obj: don't leak objio_state if ore_write/read fails
commit 9909d45a85 upstream.
[Bug since 3.2 Kernel]
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
f6ecbea43e
commit
08603bdd6b
|
|
@ -453,7 +453,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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -537,8 +540,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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user