diff options
Diffstat (limited to 'net/ceph/osd_client.c')
| -rw-r--r-- | net/ceph/osd_client.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c index a3395fdfbd4f..d5953b87918c 100644 --- a/net/ceph/osd_client.c +++ b/net/ceph/osd_client.c | |||
| @@ -1204,6 +1204,7 @@ void ceph_osdc_unregister_linger_request(struct ceph_osd_client *osdc, | |||
| 1204 | mutex_lock(&osdc->request_mutex); | 1204 | mutex_lock(&osdc->request_mutex); |
| 1205 | if (req->r_linger) { | 1205 | if (req->r_linger) { |
| 1206 | __unregister_linger_request(osdc, req); | 1206 | __unregister_linger_request(osdc, req); |
| 1207 | req->r_linger = 0; | ||
| 1207 | ceph_osdc_put_request(req); | 1208 | ceph_osdc_put_request(req); |
| 1208 | } | 1209 | } |
| 1209 | mutex_unlock(&osdc->request_mutex); | 1210 | mutex_unlock(&osdc->request_mutex); |
| @@ -2120,7 +2121,9 @@ int ceph_osdc_start_request(struct ceph_osd_client *osdc, | |||
| 2120 | down_read(&osdc->map_sem); | 2121 | down_read(&osdc->map_sem); |
| 2121 | mutex_lock(&osdc->request_mutex); | 2122 | mutex_lock(&osdc->request_mutex); |
| 2122 | __register_request(osdc, req); | 2123 | __register_request(osdc, req); |
| 2123 | WARN_ON(req->r_sent); | 2124 | req->r_sent = 0; |
| 2125 | req->r_got_reply = 0; | ||
| 2126 | req->r_completed = 0; | ||
| 2124 | rc = __map_request(osdc, req, 0); | 2127 | rc = __map_request(osdc, req, 0); |
| 2125 | if (rc < 0) { | 2128 | if (rc < 0) { |
| 2126 | if (nofail) { | 2129 | if (nofail) { |
