Lines Matching refs:opinfo
2870 struct oplock_info *opinfo; in smb2_open() local
3585 opinfo = rcu_dereference(fp->f_opinfo); in smb2_open()
3586 rsp->OplockLevel = opinfo != NULL ? opinfo->level : 0; in smb2_open()
3612 if (opinfo && opinfo->is_lease) { in smb2_open()
3616 name, opinfo->o_lease->state); in smb2_open()
3621 create_lease_buf(rsp->Buffer, opinfo->o_lease); in smb2_open()
8424 struct oplock_info *opinfo = NULL; in smb20_oplock_break_ack() local
8446 opinfo = opinfo_get(fp); in smb20_oplock_break_ack()
8447 if (!opinfo) { in smb20_oplock_break_ack()
8455 if (opinfo->level == SMB2_OPLOCK_LEVEL_NONE) { in smb20_oplock_break_ack()
8460 if (opinfo->op_state == OPLOCK_STATE_NONE) { in smb20_oplock_break_ack()
8461 ksmbd_debug(SMB, "unexpected oplock state 0x%x\n", opinfo->op_state); in smb20_oplock_break_ack()
8466 if ((opinfo->level == SMB2_OPLOCK_LEVEL_EXCLUSIVE || in smb20_oplock_break_ack()
8467 opinfo->level == SMB2_OPLOCK_LEVEL_BATCH) && in smb20_oplock_break_ack()
8472 } else if (opinfo->level == SMB2_OPLOCK_LEVEL_II && in smb20_oplock_break_ack()
8479 if ((opinfo->level == SMB2_OPLOCK_LEVEL_EXCLUSIVE || in smb20_oplock_break_ack()
8480 opinfo->level == SMB2_OPLOCK_LEVEL_BATCH) && in smb20_oplock_break_ack()
8483 } else if ((opinfo->level == SMB2_OPLOCK_LEVEL_EXCLUSIVE || in smb20_oplock_break_ack()
8484 opinfo->level == SMB2_OPLOCK_LEVEL_BATCH) && in smb20_oplock_break_ack()
8487 } else if (opinfo->level == SMB2_OPLOCK_LEVEL_II && in smb20_oplock_break_ack()
8499 ret = opinfo_write_to_read(opinfo); in smb20_oplock_break_ack()
8503 ret = opinfo_write_to_none(opinfo); in smb20_oplock_break_ack()
8507 ret = opinfo_read_to_none(opinfo); in smb20_oplock_break_ack()
8512 opinfo->level, rsp_oplevel); in smb20_oplock_break_ack()
8520 opinfo->op_state = OPLOCK_STATE_NONE; in smb20_oplock_break_ack()
8521 wake_up_interruptible_all(&opinfo->oplock_q); in smb20_oplock_break_ack()
8522 opinfo_put(opinfo); in smb20_oplock_break_ack()
8536 opinfo->op_state = OPLOCK_STATE_NONE; in smb20_oplock_break_ack()
8537 wake_up_interruptible_all(&opinfo->oplock_q); in smb20_oplock_break_ack()
8539 opinfo_put(opinfo); in smb20_oplock_break_ack()
8570 struct oplock_info *opinfo; in smb21_lease_break_ack() local
8581 opinfo = lookup_lease_in_table(conn, req->LeaseKey); in smb21_lease_break_ack()
8582 if (!opinfo) { in smb21_lease_break_ack()
8588 lease = opinfo->o_lease; in smb21_lease_break_ack()
8590 if (opinfo->op_state == OPLOCK_STATE_NONE) { in smb21_lease_break_ack()
8592 opinfo->op_state); in smb21_lease_break_ack()
8605 if (!atomic_read(&opinfo->breaking_cnt)) { in smb21_lease_break_ack()
8648 ret = opinfo_write_to_read(opinfo); in smb21_lease_break_ack()
8651 ret = opinfo_read_handle_to_read(opinfo); in smb21_lease_break_ack()
8654 ret = opinfo_write_to_none(opinfo); in smb21_lease_break_ack()
8657 ret = opinfo_read_to_none(opinfo); in smb21_lease_break_ack()
8671 opinfo->op_state = OPLOCK_STATE_NONE; in smb21_lease_break_ack()
8672 wake_up_interruptible_all(&opinfo->oplock_q); in smb21_lease_break_ack()
8673 atomic_dec(&opinfo->breaking_cnt); in smb21_lease_break_ack()
8674 wake_up_interruptible_all(&opinfo->oplock_brk); in smb21_lease_break_ack()
8675 opinfo_put(opinfo); in smb21_lease_break_ack()
8688 wake_up_interruptible_all(&opinfo->oplock_q); in smb21_lease_break_ack()
8689 atomic_dec(&opinfo->breaking_cnt); in smb21_lease_break_ack()
8690 wake_up_interruptible_all(&opinfo->oplock_brk); in smb21_lease_break_ack()
8692 opinfo_put(opinfo); in smb21_lease_break_ack()