diff options
| -rw-r--r-- | fs/ceph/addr.c | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c index 1d97a53d1b29..c2a9e2cc03de 100644 --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c @@ -489,8 +489,11 @@ static int ceph_init_request(struct netfs_io_request *rreq, struct file *file)  	rreq->io_streams[0].sreq_max_len = fsc->mount_options->rsize;  out: -	if (ret < 0) +	if (ret < 0) { +		if (got) +			ceph_put_cap_refs(ceph_inode(inode), got);  		kfree(priv); +	}  	return ret;  } | 
