Lines Matching refs:smb_lock
6723 struct ksmbd_lock *smb_lock = NULL, *cmp_lock, *tmp, *tmp2; in smb2_lock() local
6800 smb_lock = smb2_lock_init(flock, cmd, flags, &lock_list); in smb2_lock()
6801 if (!smb_lock) { in smb2_lock()
6807 list_for_each_entry_safe(smb_lock, tmp, &lock_list, llist) { in smb2_lock()
6808 if (smb_lock->cmd < 0) { in smb2_lock()
6813 if (!(smb_lock->flags & SMB2_LOCKFLAG_MASK)) { in smb2_lock()
6819 smb_lock->flags & SMB2_LOCKFLAG_UNLOCK) || in smb2_lock()
6821 !(smb_lock->flags & SMB2_LOCKFLAG_UNLOCK))) { in smb2_lock()
6826 prior_lock = smb_lock->flags; in smb2_lock()
6828 if (!(smb_lock->flags & SMB2_LOCKFLAG_UNLOCK) && in smb2_lock()
6829 !(smb_lock->flags & SMB2_LOCKFLAG_FAIL_IMMEDIATELY)) in smb2_lock()
6839 file_inode(smb_lock->fl->fl_file)) in smb2_lock()
6842 if (smb_lock->fl->fl_type == F_UNLCK) { in smb2_lock()
6843 if (cmp_lock->fl->fl_file == smb_lock->fl->fl_file && in smb2_lock()
6844 cmp_lock->start == smb_lock->start && in smb2_lock()
6845 cmp_lock->end == smb_lock->end && in smb2_lock()
6860 if (cmp_lock->fl->fl_file == smb_lock->fl->fl_file) { in smb2_lock()
6861 if (smb_lock->flags & SMB2_LOCKFLAG_SHARED) in smb2_lock()
6869 if (cmp_lock->zero_len && !smb_lock->zero_len && in smb2_lock()
6870 cmp_lock->start > smb_lock->start && in smb2_lock()
6871 cmp_lock->start < smb_lock->end) { in smb2_lock()
6878 if (smb_lock->zero_len && !cmp_lock->zero_len && in smb2_lock()
6879 smb_lock->start > cmp_lock->start && in smb2_lock()
6880 smb_lock->start < cmp_lock->end) { in smb2_lock()
6887 if (((cmp_lock->start <= smb_lock->start && in smb2_lock()
6888 cmp_lock->end > smb_lock->start) || in smb2_lock()
6889 (cmp_lock->start < smb_lock->end && in smb2_lock()
6890 cmp_lock->end >= smb_lock->end)) && in smb2_lock()
6891 !cmp_lock->zero_len && !smb_lock->zero_len) { in smb2_lock()
6902 if (smb_lock->fl->fl_type == F_UNLCK && nolock) { in smb2_lock()
6909 if (smb_lock->zero_len) { in smb2_lock()
6914 flock = smb_lock->fl; in smb2_lock()
6915 list_del(&smb_lock->llist); in smb2_lock()
6917 rc = vfs_lock_file(filp, smb_lock->cmd, flock, NULL); in smb2_lock()
6927 kfree(smb_lock); in smb2_lock()
6935 list_add_tail(&smb_lock->clist, in smb2_lock()
6938 list_add(&smb_lock->llist, &rollback_list); in smb2_lock()
6963 list_del(&smb_lock->llist); in smb2_lock()
6965 list_del(&smb_lock->clist); in smb2_lock()
6975 kfree(smb_lock); in smb2_lock()
6985 kfree(smb_lock); in smb2_lock()
6989 list_del(&smb_lock->llist); in smb2_lock()
6991 list_del(&smb_lock->clist); in smb2_lock()
7000 list_add_tail(&smb_lock->clist, in smb2_lock()
7002 list_add_tail(&smb_lock->flist, in smb2_lock()
7005 list_add(&smb_lock->llist, &rollback_list); in smb2_lock()
7025 list_for_each_entry_safe(smb_lock, tmp, &lock_list, llist) { in smb2_lock()
7026 locks_free_lock(smb_lock->fl); in smb2_lock()
7027 list_del(&smb_lock->llist); in smb2_lock()
7028 kfree(smb_lock); in smb2_lock()
7031 list_for_each_entry_safe(smb_lock, tmp, &rollback_list, llist) { in smb2_lock()
7036 rlock->fl_start = smb_lock->start; in smb2_lock()
7037 rlock->fl_end = smb_lock->end; in smb2_lock()
7043 list_del(&smb_lock->llist); in smb2_lock()
7045 if (!list_empty(&smb_lock->flist)) in smb2_lock()
7046 list_del(&smb_lock->flist); in smb2_lock()
7047 list_del(&smb_lock->clist); in smb2_lock()
7050 locks_free_lock(smb_lock->fl); in smb2_lock()
7052 kfree(smb_lock); in smb2_lock()