Lines Matching refs:smb_lock

7350 	struct ksmbd_lock *smb_lock = NULL, *cmp_lock, *tmp, *tmp2;  in smb2_lock()  local
7429 smb_lock = smb2_lock_init(flock, cmd, flags, &lock_list); in smb2_lock()
7430 if (!smb_lock) { in smb2_lock()
7437 list_for_each_entry_safe(smb_lock, tmp, &lock_list, llist) { in smb2_lock()
7438 if (smb_lock->cmd < 0) { in smb2_lock()
7443 if (!(smb_lock->flags & SMB2_LOCKFLAG_MASK)) { in smb2_lock()
7449 smb_lock->flags & SMB2_LOCKFLAG_UNLOCK) || in smb2_lock()
7451 !(smb_lock->flags & SMB2_LOCKFLAG_UNLOCK))) { in smb2_lock()
7456 prior_lock = smb_lock->flags; in smb2_lock()
7458 if (!(smb_lock->flags & SMB2_LOCKFLAG_UNLOCK) && in smb2_lock()
7459 !(smb_lock->flags & SMB2_LOCKFLAG_FAIL_IMMEDIATELY)) in smb2_lock()
7469 file_inode(smb_lock->fl->c.flc_file)) in smb2_lock()
7472 if (lock_is_unlock(smb_lock->fl)) { in smb2_lock()
7473 if (cmp_lock->fl->c.flc_file == smb_lock->fl->c.flc_file && in smb2_lock()
7474 cmp_lock->start == smb_lock->start && in smb2_lock()
7475 cmp_lock->end == smb_lock->end && in smb2_lock()
7490 if (cmp_lock->fl->c.flc_file == smb_lock->fl->c.flc_file) { in smb2_lock()
7491 if (smb_lock->flags & SMB2_LOCKFLAG_SHARED) in smb2_lock()
7499 if (cmp_lock->zero_len && !smb_lock->zero_len && in smb2_lock()
7500 cmp_lock->start > smb_lock->start && in smb2_lock()
7501 cmp_lock->start < smb_lock->end) { in smb2_lock()
7508 if (smb_lock->zero_len && !cmp_lock->zero_len && in smb2_lock()
7509 smb_lock->start > cmp_lock->start && in smb2_lock()
7510 smb_lock->start < cmp_lock->end) { in smb2_lock()
7517 if (((cmp_lock->start <= smb_lock->start && in smb2_lock()
7518 cmp_lock->end > smb_lock->start) || in smb2_lock()
7519 (cmp_lock->start < smb_lock->end && in smb2_lock()
7520 cmp_lock->end >= smb_lock->end)) && in smb2_lock()
7521 !cmp_lock->zero_len && !smb_lock->zero_len) { in smb2_lock()
7532 if (lock_is_unlock(smb_lock->fl) && nolock) { in smb2_lock()
7539 flock = smb_lock->fl; in smb2_lock()
7540 list_del(&smb_lock->llist); in smb2_lock()
7542 if (smb_lock->zero_len) { in smb2_lock()
7547 rc = vfs_lock_file(filp, smb_lock->cmd, flock, NULL); in smb2_lock()
7549 if (smb_lock->flags & SMB2_LOCKFLAG_UNLOCK) { in smb2_lock()
7557 kfree(smb_lock); in smb2_lock()
7564 list_add(&smb_lock->llist, &rollback_list); in smb2_lock()
7594 list_del(&smb_lock->llist); in smb2_lock()
7600 kfree(smb_lock); in smb2_lock()
7609 kfree(smb_lock); in smb2_lock()
7613 list_del(&smb_lock->llist); in smb2_lock()
7617 list_add(&smb_lock->llist, &rollback_list); in smb2_lock()
7619 list_add_tail(&smb_lock->clist, in smb2_lock()
7621 list_add_tail(&smb_lock->flist, in smb2_lock()
7646 list_for_each_entry_safe(smb_lock, tmp, &lock_list, llist) { in smb2_lock()
7647 locks_free_lock(smb_lock->fl); in smb2_lock()
7648 list_del(&smb_lock->llist); in smb2_lock()
7649 kfree(smb_lock); in smb2_lock()
7652 list_for_each_entry_safe(smb_lock, tmp, &rollback_list, llist) { in smb2_lock()
7657 rlock->fl_start = smb_lock->start; in smb2_lock()
7658 rlock->fl_end = smb_lock->end; in smb2_lock()
7664 list_del(&smb_lock->llist); in smb2_lock()
7666 if (!list_empty(&smb_lock->flist)) in smb2_lock()
7667 list_del(&smb_lock->flist); in smb2_lock()
7668 list_del(&smb_lock->clist); in smb2_lock()
7671 locks_free_lock(smb_lock->fl); in smb2_lock()
7673 kfree(smb_lock); in smb2_lock()