Lines Matching refs:brk_opinfo
859 static int oplock_break(struct oplock_info *brk_opinfo, int req_op_level, in oplock_break() argument
867 brk_opinfo->level); in oplock_break()
869 if (brk_opinfo->is_lease) { in oplock_break()
870 struct lease *lease = brk_opinfo->o_lease; in oplock_break()
872 atomic_inc(&brk_opinfo->breaking_cnt); in oplock_break()
873 err = oplock_break_pending(brk_opinfo, req_op_level); in oplock_break()
877 if (brk_opinfo->open_trunc) { in oplock_break()
910 brk_opinfo->op_state = OPLOCK_ACK_WAIT; in oplock_break()
912 atomic_dec(&brk_opinfo->breaking_cnt); in oplock_break()
914 err = oplock_break_pending(brk_opinfo, req_op_level); in oplock_break()
918 if (brk_opinfo->level == SMB2_OPLOCK_LEVEL_BATCH || in oplock_break()
919 brk_opinfo->level == SMB2_OPLOCK_LEVEL_EXCLUSIVE) in oplock_break()
920 brk_opinfo->op_state = OPLOCK_ACK_WAIT; in oplock_break()
923 if (brk_opinfo->is_lease) in oplock_break()
924 err = smb2_lease_break_noti(brk_opinfo); in oplock_break()
926 err = smb2_oplock_break_noti(brk_opinfo); in oplock_break()
928 ksmbd_debug(OPLOCK, "oplock granted = %d\n", brk_opinfo->level); in oplock_break()
929 if (brk_opinfo->op_state == OPLOCK_CLOSING) in oplock_break()
931 wake_up_oplock_break(brk_opinfo); in oplock_break()
933 wait_lease_breaking(brk_opinfo); in oplock_break()
1304 struct oplock_info *brk_opinfo; in smb_break_all_write_oplock() local
1306 brk_opinfo = opinfo_get_list(fp->f_ci); in smb_break_all_write_oplock()
1307 if (!brk_opinfo) in smb_break_all_write_oplock()
1309 if (brk_opinfo->level != SMB2_OPLOCK_LEVEL_BATCH && in smb_break_all_write_oplock()
1310 brk_opinfo->level != SMB2_OPLOCK_LEVEL_EXCLUSIVE) { in smb_break_all_write_oplock()
1311 opinfo_put(brk_opinfo); in smb_break_all_write_oplock()
1315 brk_opinfo->open_trunc = is_trunc; in smb_break_all_write_oplock()
1316 oplock_break(brk_opinfo, SMB2_OPLOCK_LEVEL_II, work); in smb_break_all_write_oplock()
1317 opinfo_put(brk_opinfo); in smb_break_all_write_oplock()