Lines Matching defs:brk_opinfo
876 static int oplock_break(struct oplock_info *brk_opinfo, int req_op_level)
883 brk_opinfo->level);
885 if (brk_opinfo->is_lease) {
886 struct lease *lease = brk_opinfo->o_lease;
888 atomic_inc(&brk_opinfo->breaking_cnt);
890 err = oplock_break_pending(brk_opinfo, req_op_level);
894 if (brk_opinfo->open_trunc) {
921 brk_opinfo->op_state = OPLOCK_ACK_WAIT;
923 atomic_dec(&brk_opinfo->breaking_cnt);
925 err = oplock_break_pending(brk_opinfo, req_op_level);
929 if (brk_opinfo->level == SMB2_OPLOCK_LEVEL_BATCH ||
930 brk_opinfo->level == SMB2_OPLOCK_LEVEL_EXCLUSIVE)
931 brk_opinfo->op_state = OPLOCK_ACK_WAIT;
934 if (brk_opinfo->is_lease)
935 err = smb2_lease_break_noti(brk_opinfo);
937 err = smb2_oplock_break_noti(brk_opinfo);
939 ksmbd_debug(OPLOCK, "oplock granted = %d\n", brk_opinfo->level);
940 if (brk_opinfo->op_state == OPLOCK_CLOSING)
942 wake_up_oplock_break(brk_opinfo);
944 wait_lease_breaking(brk_opinfo);
1324 struct oplock_info *brk_opinfo;
1326 brk_opinfo = opinfo_get_list(fp->f_ci);
1327 if (!brk_opinfo)
1329 if (brk_opinfo->level != SMB2_OPLOCK_LEVEL_BATCH &&
1330 brk_opinfo->level != SMB2_OPLOCK_LEVEL_EXCLUSIVE) {
1331 opinfo_conn_put(brk_opinfo);
1335 brk_opinfo->open_trunc = is_trunc;
1336 list_add(&work->interim_entry, &brk_opinfo->interim_list);
1337 oplock_break(brk_opinfo, SMB2_OPLOCK_LEVEL_II);
1338 opinfo_conn_put(brk_opinfo);