diff options
author | Ilya Dryomov <idryomov@gmail.com> | 2016-04-26 15:05:29 +0200 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2016-05-26 00:36:20 +0200 |
commit | 3ed97d6345a36a0a61e6af62ad8a66ca40f1aa2e (patch) | |
tree | 8169875c78caa8e2bede29204fbb29f72b299edc | |
parent | 663ae2cc04773608e1e741f693e41200fd4faf14 (diff) | |
download | lwn-3ed97d6345a36a0a61e6af62ad8a66ca40f1aa2e.tar.gz lwn-3ed97d6345a36a0a61e6af62ad8a66ca40f1aa2e.zip |
libceph: make ceph_osdc_put_request() accept NULL
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
-rw-r--r-- | fs/ceph/addr.c | 9 | ||||
-rw-r--r-- | net/ceph/osd_client.c | 8 |
2 files changed, 8 insertions, 9 deletions
diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c index 4801571f51cb..3e61fc8bb371 100644 --- a/fs/ceph/addr.c +++ b/fs/ceph/addr.c @@ -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; diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c index 40a53a70efdf..cacce9e35f08 100644 --- a/net/ceph/osd_client.c +++ b/net/ceph/osd_client.c @@ -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); |