Lines Matching refs:lwork

2878 	struct linger_work *lwork;  in lwork_alloc()  local
2880 lwork = kzalloc(sizeof(*lwork), GFP_NOIO); in lwork_alloc()
2881 if (!lwork) in lwork_alloc()
2884 INIT_WORK(&lwork->work, workfn); in lwork_alloc()
2885 INIT_LIST_HEAD(&lwork->pending_item); in lwork_alloc()
2886 lwork->lreq = linger_get(lreq); in lwork_alloc()
2888 return lwork; in lwork_alloc()
2891 static void lwork_free(struct linger_work *lwork) in lwork_free() argument
2893 struct ceph_osd_linger_request *lreq = lwork->lreq; in lwork_free()
2896 list_del(&lwork->pending_item); in lwork_free()
2900 kfree(lwork); in lwork_free()
2903 static void lwork_queue(struct linger_work *lwork) in lwork_queue() argument
2905 struct ceph_osd_linger_request *lreq = lwork->lreq; in lwork_queue()
2909 WARN_ON(!list_empty(&lwork->pending_item)); in lwork_queue()
2911 lwork->queued_stamp = jiffies; in lwork_queue()
2912 list_add_tail(&lwork->pending_item, &lreq->pending_lworks); in lwork_queue()
2913 queue_work(osdc->notify_wq, &lwork->work); in lwork_queue()
2918 struct linger_work *lwork = container_of(w, struct linger_work, work); in do_watch_notify() local
2919 struct ceph_osd_linger_request *lreq = lwork->lreq; in do_watch_notify()
2928 __func__, lreq, lwork->notify.notify_id, lwork->notify.notifier_id, in do_watch_notify()
2929 lwork->notify.payload_len); in do_watch_notify()
2930 lreq->wcb(lreq->data, lwork->notify.notify_id, lreq->linger_id, in do_watch_notify()
2931 lwork->notify.notifier_id, lwork->notify.payload, in do_watch_notify()
2932 lwork->notify.payload_len); in do_watch_notify()
2935 ceph_msg_put(lwork->notify.msg); in do_watch_notify()
2936 lwork_free(lwork); in do_watch_notify()
2941 struct linger_work *lwork = container_of(w, struct linger_work, work); in do_watch_error() local
2942 struct ceph_osd_linger_request *lreq = lwork->lreq; in do_watch_error()
2949 dout("%s lreq %p err %d\n", __func__, lreq, lwork->error.err); in do_watch_error()
2950 lreq->errcb(lreq->data, lreq->linger_id, lwork->error.err); in do_watch_error()
2953 lwork_free(lwork); in do_watch_error()
2958 struct linger_work *lwork; in queue_watch_error() local
2960 lwork = lwork_alloc(lreq, do_watch_error); in queue_watch_error()
2961 if (!lwork) { in queue_watch_error()
2966 lwork->error.err = lreq->last_error; in queue_watch_error()
2967 lwork_queue(lwork); in queue_watch_error()
4482 struct linger_work *lwork; in handle_watch_notify() local
4548 lwork = lwork_alloc(lreq, do_watch_notify); in handle_watch_notify()
4549 if (!lwork) { in handle_watch_notify()
4554 lwork->notify.notify_id = notify_id; in handle_watch_notify()
4555 lwork->notify.notifier_id = notifier_id; in handle_watch_notify()
4556 lwork->notify.payload = payload; in handle_watch_notify()
4557 lwork->notify.payload_len = payload_len; in handle_watch_notify()
4558 lwork->notify.msg = ceph_msg_get(msg); in handle_watch_notify()
4559 lwork_queue(lwork); in handle_watch_notify()
4917 struct linger_work *lwork = in ceph_osdc_watch_check() local
4922 if (time_before(lwork->queued_stamp, stamp)) in ceph_osdc_watch_check()
4923 stamp = lwork->queued_stamp; in ceph_osdc_watch_check()