Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 373311
b: refs/heads/master
c: 0d5af16
h: refs/heads/master
i:
  373309: 0fd1482
  373307: f8d250d
  373303: cf7c0ee
  373295: f9d707c
  373279: aeaecf4
  373247: 30061d9
v: v3
  • Loading branch information
Alex Elder authored and Sage Weil committed May 2, 2013
1 parent e88bc24 commit 359d045
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3f99969f42300e52779ae0656678c2534097f2ea
refs/heads/master: 0d5af1643535508f82d6bcc2b9b93b180e8c3f4b
1 change: 1 addition & 0 deletions trunk/include/linux/ceph/osd_client.h
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ struct ceph_osd_request {
s32 r_reply_op_result[CEPH_OSD_MAX_OP];
int r_got_reply;
int r_linger;
int r_completed;

struct ceph_osd_client *r_osdc;
struct kref r_kref;
Expand Down
5 changes: 5 additions & 0 deletions trunk/net/ceph/osd_client.c
Original file line number Diff line number Diff line change
Expand Up @@ -1174,6 +1174,7 @@ static void handle_reply(struct ceph_osd_client *osdc, struct ceph_msg *msg,
u32 reassert_epoch;
u64 reassert_version;
u32 osdmap_epoch;
int already_completed;
int i;

tid = le64_to_cpu(msg->hdr.tid);
Expand Down Expand Up @@ -1282,7 +1283,11 @@ static void handle_reply(struct ceph_osd_client *osdc, struct ceph_msg *msg,
((flags & CEPH_OSD_FLAG_WRITE) == 0))
__unregister_request(osdc, req);

already_completed = req->r_completed;
req->r_completed = 1;
mutex_unlock(&osdc->request_mutex);
if (already_completed)
goto done;

if (req->r_callback)
req->r_callback(req, msg);
Expand Down

0 comments on commit 359d045

Please sign in to comment.