diff options
-rw-r--r-- | include/linux/ceph/osd_client.h | 3 | ||||
-rw-r--r-- | net/ceph/osd_client.c | 18 |
2 files changed, 0 insertions, 21 deletions
diff --git a/include/linux/ceph/osd_client.h b/include/linux/ceph/osd_client.h index 39c55d61e159..388158ff0cbc 100644 --- a/include/linux/ceph/osd_client.h +++ b/include/linux/ceph/osd_client.h | |||
@@ -107,7 +107,6 @@ struct ceph_osd_event { | |||
107 | struct rb_node node; | 107 | struct rb_node node; |
108 | struct list_head osd_node; | 108 | struct list_head osd_node; |
109 | struct kref kref; | 109 | struct kref kref; |
110 | struct completion completion; | ||
111 | }; | 110 | }; |
112 | 111 | ||
113 | struct ceph_osd_event_work { | 112 | struct ceph_osd_event_work { |
@@ -275,8 +274,6 @@ extern int ceph_osdc_create_event(struct ceph_osd_client *osdc, | |||
275 | void (*event_cb)(u64, u64, u8, void *), | 274 | void (*event_cb)(u64, u64, u8, void *), |
276 | void *data, struct ceph_osd_event **pevent); | 275 | void *data, struct ceph_osd_event **pevent); |
277 | extern void ceph_osdc_cancel_event(struct ceph_osd_event *event); | 276 | extern void ceph_osdc_cancel_event(struct ceph_osd_event *event); |
278 | extern int ceph_osdc_wait_event(struct ceph_osd_event *event, | ||
279 | unsigned long timeout); | ||
280 | extern void ceph_osdc_put_event(struct ceph_osd_event *event); | 277 | extern void ceph_osdc_put_event(struct ceph_osd_event *event); |
281 | #endif | 278 | #endif |
282 | 279 | ||
diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c index 4322faa7c811..ad6b8b35f5ca 100644 --- a/net/ceph/osd_client.c +++ b/net/ceph/osd_client.c | |||
@@ -1494,7 +1494,6 @@ int ceph_osdc_create_event(struct ceph_osd_client *osdc, | |||
1494 | RB_CLEAR_NODE(&event->node); | 1494 | RB_CLEAR_NODE(&event->node); |
1495 | kref_init(&event->kref); /* one ref for us */ | 1495 | kref_init(&event->kref); /* one ref for us */ |
1496 | kref_get(&event->kref); /* one ref for the caller */ | 1496 | kref_get(&event->kref); /* one ref for the caller */ |
1497 | init_completion(&event->completion); | ||
1498 | 1497 | ||
1499 | spin_lock(&osdc->event_lock); | 1498 | spin_lock(&osdc->event_lock); |
1500 | event->cookie = ++osdc->event_count; | 1499 | event->cookie = ++osdc->event_count; |
@@ -1530,7 +1529,6 @@ static void do_event_work(struct work_struct *work) | |||
1530 | 1529 | ||
1531 | dout("do_event_work completing %p\n", event); | 1530 | dout("do_event_work completing %p\n", event); |
1532 | event->cb(ver, notify_id, opcode, event->data); | 1531 | event->cb(ver, notify_id, opcode, event->data); |
1533 | complete(&event->completion); | ||
1534 | dout("do_event_work completed %p\n", event); | 1532 | dout("do_event_work completed %p\n", event); |
1535 | ceph_osdc_put_event(event); | 1533 | ceph_osdc_put_event(event); |
1536 | kfree(event_work); | 1534 | kfree(event_work); |
@@ -1588,7 +1586,6 @@ static void handle_watch_notify(struct ceph_osd_client *osdc, | |||
1588 | return; | 1586 | return; |
1589 | 1587 | ||
1590 | done_err: | 1588 | done_err: |
1591 | complete(&event->completion); | ||
1592 | ceph_osdc_put_event(event); | 1589 | ceph_osdc_put_event(event); |
1593 | return; | 1590 | return; |
1594 | 1591 | ||
@@ -1597,21 +1594,6 @@ bad: | |||
1597 | return; | 1594 | return; |
1598 | } | 1595 | } |
1599 | 1596 | ||
1600 | int ceph_osdc_wait_event(struct ceph_osd_event *event, unsigned long timeout) | ||
1601 | { | ||
1602 | int err; | ||
1603 | |||
1604 | dout("wait_event %p\n", event); | ||
1605 | err = wait_for_completion_interruptible_timeout(&event->completion, | ||
1606 | timeout * HZ); | ||
1607 | ceph_osdc_put_event(event); | ||
1608 | if (err > 0) | ||
1609 | err = 0; | ||
1610 | dout("wait_event %p returns %d\n", event, err); | ||
1611 | return err; | ||
1612 | } | ||
1613 | EXPORT_SYMBOL(ceph_osdc_wait_event); | ||
1614 | |||
1615 | /* | 1597 | /* |
1616 | * Register request, send initial attempt. | 1598 | * Register request, send initial attempt. |
1617 | */ | 1599 | */ |