Lines Matching defs:flock

7073 static int smb2_set_flock_flags(struct file_lock *flock, int flags)
7082 flock->c.flc_type = F_RDLCK;
7083 flock->c.flc_flags |= FL_SLEEP;
7088 flock->c.flc_type = F_WRLCK;
7089 flock->c.flc_flags |= FL_SLEEP;
7095 flock->c.flc_type = F_RDLCK;
7101 flock->c.flc_type = F_WRLCK;
7105 flock->c.flc_type = F_UNLCK;
7113 static struct ksmbd_lock *smb2_lock_init(struct file_lock *flock,
7124 lock->fl = flock;
7125 lock->start = flock->fl_start;
7126 lock->end = flock->fl_end;
7140 struct file_lock *flock = (struct file_lock *)argv[0];
7142 ksmbd_vfs_posix_lock_unblock(flock);
7143 locks_wake_up(flock);
7164 struct file_lock *flock = NULL;
7201 flock = smb_flock_init(filp);
7202 if (!flock)
7205 cmd = smb2_set_flock_flags(flock, flags);
7212 locks_free_lock(flock);
7217 flock->fl_start = OFFSET_MAX;
7219 flock->fl_start = lock_start;
7222 if (lock_length > OFFSET_MAX - flock->fl_start)
7223 lock_length = OFFSET_MAX - flock->fl_start;
7225 flock->fl_end = flock->fl_start + lock_length;
7227 if (flock->fl_end < flock->fl_start) {
7230 flock->fl_end, flock->fl_start);
7232 locks_free_lock(flock);
7238 if (cmp_lock->fl->fl_start <= flock->fl_start &&
7239 cmp_lock->fl->fl_end >= flock->fl_end) {
7241 flock->c.flc_type != F_UNLCK) {
7244 locks_free_lock(flock);
7250 smb_lock = smb2_lock_init(flock, cmd, flags, &lock_list);
7253 locks_free_lock(flock);
7365 flock = smb_lock->fl;
7368 rc = vfs_lock_file(filp, smb_lock->cmd, flock, NULL);
7377 locks_free_lock(flock);
7392 argv[0] = flock;
7408 ksmbd_vfs_posix_lock_wait(flock);
7416 locks_free_lock(flock);