libceph: make ceph_osdc_put_request() accept NULL

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
Ilya Dryomov 2016-04-26 15:05:29 +02:00
Родитель 663ae2cc04
Коммит 3ed97d6345
2 изменённых файлов: 8 добавлений и 9 удалений

Просмотреть файл

@ -1099,8 +1099,7 @@ release_pvec_pages:
mapping->writeback_index = index;
out:
if (req)
ceph_osdc_put_request(req);
ceph_osdc_put_request(req);
ceph_put_snap_context(snapc);
dout("writepages done, rc = %d\n", rc);
return rc;
@ -1824,10 +1823,8 @@ static int __ceph_pool_perm_get(struct ceph_inode_info *ci, u32 pool)
out_unlock:
up_write(&mdsc->pool_perm_rwsem);
if (rd_req)
ceph_osdc_put_request(rd_req);
if (wr_req)
ceph_osdc_put_request(wr_req);
ceph_osdc_put_request(rd_req);
ceph_osdc_put_request(wr_req);
out:
if (!err)
err = have;

Просмотреть файл

@ -354,9 +354,11 @@ EXPORT_SYMBOL(ceph_osdc_get_request);
void ceph_osdc_put_request(struct ceph_osd_request *req)
{
dout("%s %p (was %d)\n", __func__, req,
atomic_read(&req->r_kref.refcount));
kref_put(&req->r_kref, ceph_osdc_release_request);
if (req) {
dout("%s %p (was %d)\n", __func__, req,
atomic_read(&req->r_kref.refcount));
kref_put(&req->r_kref, ceph_osdc_release_request);
}
}
EXPORT_SYMBOL(ceph_osdc_put_request);