Lines Matching refs:work

30 static struct oplock_info *alloc_opinfo(struct ksmbd_work *work,  in alloc_opinfo()  argument
33 struct ksmbd_conn *conn = work->conn; in alloc_opinfo()
34 struct ksmbd_session *sess = work->sess; in alloc_opinfo()
624 struct ksmbd_work *work = container_of(wk, struct ksmbd_work, work); in __smb2_oplock_break_noti() local
625 struct ksmbd_conn *conn = work->conn; in __smb2_oplock_break_noti()
626 struct oplock_break_info *br_info = work->request_buf; in __smb2_oplock_break_noti()
634 if (allocate_interim_rsp_buf(work)) { in __smb2_oplock_break_noti()
636 ksmbd_fd_put(work, fp); in __smb2_oplock_break_noti()
640 rsp_hdr = smb2_get_msg(work->response_buf); in __smb2_oplock_break_noti()
654 rsp = smb2_get_msg(work->response_buf); in __smb2_oplock_break_noti()
668 ksmbd_fd_put(work, fp); in __smb2_oplock_break_noti()
669 if (ksmbd_iov_pin_rsp(work, (void *)rsp, in __smb2_oplock_break_noti()
677 ksmbd_conn_write(work); in __smb2_oplock_break_noti()
680 ksmbd_free_work_struct(work); in __smb2_oplock_break_noti()
696 struct ksmbd_work *work = ksmbd_alloc_work_struct(); in smb2_oplock_break_noti() local
698 if (!work) in smb2_oplock_break_noti()
703 ksmbd_free_work_struct(work); in smb2_oplock_break_noti()
711 work->request_buf = (char *)br_info; in smb2_oplock_break_noti()
712 work->conn = conn; in smb2_oplock_break_noti()
713 work->sess = opinfo->sess; in smb2_oplock_break_noti()
717 INIT_WORK(&work->work, __smb2_oplock_break_noti); in smb2_oplock_break_noti()
718 ksmbd_queue_work(work); in smb2_oplock_break_noti()
722 __smb2_oplock_break_noti(&work->work); in smb2_oplock_break_noti()
737 struct ksmbd_work *work = container_of(wk, struct ksmbd_work, work); in __smb2_lease_break_noti() local
738 struct ksmbd_conn *conn = work->conn; in __smb2_lease_break_noti()
739 struct lease_break_info *br_info = work->request_buf; in __smb2_lease_break_noti()
742 if (allocate_interim_rsp_buf(work)) { in __smb2_lease_break_noti()
747 rsp_hdr = smb2_get_msg(work->response_buf); in __smb2_lease_break_noti()
761 rsp = smb2_get_msg(work->response_buf); in __smb2_lease_break_noti()
777 if (ksmbd_iov_pin_rsp(work, (void *)rsp, in __smb2_lease_break_noti()
781 ksmbd_conn_write(work); in __smb2_lease_break_noti()
784 ksmbd_free_work_struct(work); in __smb2_lease_break_noti()
798 struct ksmbd_work *work; in smb2_lease_break_noti() local
802 work = ksmbd_alloc_work_struct(); in smb2_lease_break_noti()
803 if (!work) in smb2_lease_break_noti()
808 ksmbd_free_work_struct(work); in smb2_lease_break_noti()
820 work->request_buf = (char *)br_info; in smb2_lease_break_noti()
821 work->conn = conn; in smb2_lease_break_noti()
822 work->sess = opinfo->sess; in smb2_lease_break_noti()
826 INIT_WORK(&work->work, __smb2_lease_break_noti); in smb2_lease_break_noti()
827 ksmbd_queue_work(work); in smb2_lease_break_noti()
830 __smb2_lease_break_noti(&work->work); in smb2_lease_break_noti()
1170 int smb_grant_oplock(struct ksmbd_work *work, int req_op_level, u64 pid, in smb_grant_oplock() argument
1174 struct ksmbd_session *sess = work->sess; in smb_grant_oplock()
1189 opinfo = alloc_opinfo(work, pid, tid); in smb_grant_oplock()
1249 err = oplock_break(prev_opinfo, SMB2_OPLOCK_LEVEL_II, work); in smb_grant_oplock()
1303 static void smb_break_all_write_oplock(struct ksmbd_work *work, in smb_break_all_write_oplock() argument
1318 oplock_break(brk_opinfo, SMB2_OPLOCK_LEVEL_II, work); in smb_break_all_write_oplock()
1329 void smb_break_all_levII_oplock(struct ksmbd_work *work, struct ksmbd_file *fp, in smb_break_all_levII_oplock() argument
1334 struct ksmbd_conn *conn = work->conn; in smb_break_all_levII_oplock()
1336 if (!test_share_config_flag(work->tcon->share_conf, in smb_break_all_levII_oplock()
1397 void smb_break_all_oplock(struct ksmbd_work *work, struct ksmbd_file *fp) in smb_break_all_oplock() argument
1399 if (!test_share_config_flag(work->tcon->share_conf, in smb_break_all_oplock()
1403 smb_break_all_write_oplock(work, fp, 1); in smb_break_all_oplock()
1404 smb_break_all_levII_oplock(work, fp, 1); in smb_break_all_oplock()