Lines Matching refs:opinfo
2518 struct oplock_info *opinfo; in smb2_open() local
3158 opinfo = rcu_dereference(fp->f_opinfo); in smb2_open()
3159 rsp->OplockLevel = opinfo != NULL ? opinfo->level : 0; in smb2_open()
3185 if (opinfo && opinfo->is_lease) { in smb2_open()
3189 name, opinfo->o_lease->state); in smb2_open()
3194 create_lease_buf(rsp->Buffer, opinfo->o_lease); in smb2_open()
7936 struct oplock_info *opinfo = NULL; in smb20_oplock_break_ack() local
7956 opinfo = opinfo_get(fp); in smb20_oplock_break_ack()
7957 if (!opinfo) { in smb20_oplock_break_ack()
7965 if (opinfo->level == SMB2_OPLOCK_LEVEL_NONE) { in smb20_oplock_break_ack()
7970 if (opinfo->op_state == OPLOCK_STATE_NONE) { in smb20_oplock_break_ack()
7971 ksmbd_debug(SMB, "unexpected oplock state 0x%x\n", opinfo->op_state); in smb20_oplock_break_ack()
7976 if ((opinfo->level == SMB2_OPLOCK_LEVEL_EXCLUSIVE || in smb20_oplock_break_ack()
7977 opinfo->level == SMB2_OPLOCK_LEVEL_BATCH) && in smb20_oplock_break_ack()
7982 } else if (opinfo->level == SMB2_OPLOCK_LEVEL_II && in smb20_oplock_break_ack()
7989 if ((opinfo->level == SMB2_OPLOCK_LEVEL_EXCLUSIVE || in smb20_oplock_break_ack()
7990 opinfo->level == SMB2_OPLOCK_LEVEL_BATCH) && in smb20_oplock_break_ack()
7993 } else if ((opinfo->level == SMB2_OPLOCK_LEVEL_EXCLUSIVE || in smb20_oplock_break_ack()
7994 opinfo->level == SMB2_OPLOCK_LEVEL_BATCH) && in smb20_oplock_break_ack()
7997 } else if (opinfo->level == SMB2_OPLOCK_LEVEL_II && in smb20_oplock_break_ack()
8009 ret = opinfo_write_to_read(opinfo); in smb20_oplock_break_ack()
8013 ret = opinfo_write_to_none(opinfo); in smb20_oplock_break_ack()
8017 ret = opinfo_read_to_none(opinfo); in smb20_oplock_break_ack()
8022 opinfo->level, rsp_oplevel); in smb20_oplock_break_ack()
8030 opinfo_put(opinfo); in smb20_oplock_break_ack()
8032 opinfo->op_state = OPLOCK_STATE_NONE; in smb20_oplock_break_ack()
8033 wake_up_interruptible_all(&opinfo->oplock_q); in smb20_oplock_break_ack()
8045 opinfo->op_state = OPLOCK_STATE_NONE; in smb20_oplock_break_ack()
8046 wake_up_interruptible_all(&opinfo->oplock_q); in smb20_oplock_break_ack()
8048 opinfo_put(opinfo); in smb20_oplock_break_ack()
8079 struct oplock_info *opinfo; in smb21_lease_break_ack() local
8088 opinfo = lookup_lease_in_table(conn, req->LeaseKey); in smb21_lease_break_ack()
8089 if (!opinfo) { in smb21_lease_break_ack()
8095 lease = opinfo->o_lease; in smb21_lease_break_ack()
8097 if (opinfo->op_state == OPLOCK_STATE_NONE) { in smb21_lease_break_ack()
8099 opinfo->op_state); in smb21_lease_break_ack()
8112 if (!atomic_read(&opinfo->breaking_cnt)) { in smb21_lease_break_ack()
8155 ret = opinfo_write_to_read(opinfo); in smb21_lease_break_ack()
8158 ret = opinfo_read_handle_to_read(opinfo); in smb21_lease_break_ack()
8161 ret = opinfo_write_to_none(opinfo); in smb21_lease_break_ack()
8164 ret = opinfo_read_to_none(opinfo); in smb21_lease_break_ack()
8173 opinfo->op_state = OPLOCK_STATE_NONE; in smb21_lease_break_ack()
8174 wake_up_interruptible_all(&opinfo->oplock_q); in smb21_lease_break_ack()
8175 atomic_dec(&opinfo->breaking_cnt); in smb21_lease_break_ack()
8176 wake_up_interruptible_all(&opinfo->oplock_brk); in smb21_lease_break_ack()
8177 opinfo_put(opinfo); in smb21_lease_break_ack()
8194 opinfo->op_state = OPLOCK_STATE_NONE; in smb21_lease_break_ack()
8195 wake_up_interruptible_all(&opinfo->oplock_q); in smb21_lease_break_ack()
8196 atomic_dec(&opinfo->breaking_cnt); in smb21_lease_break_ack()
8197 wake_up_interruptible_all(&opinfo->oplock_brk); in smb21_lease_break_ack()
8199 opinfo_put(opinfo); in smb21_lease_break_ack()