Lines Matching refs:fl

26 	void *fl;  member
29 int (*callback)(struct file_lock *fl, int result);
123 int cmd, struct file_lock *fl) in dlm_posix_lock() argument
141 op->info.pid = fl->c.flc_pid; in dlm_posix_lock()
142 op->info.ex = lock_is_write(fl); in dlm_posix_lock()
143 op->info.wait = !!(fl->c.flc_flags & FL_SLEEP); in dlm_posix_lock()
146 op->info.start = fl->fl_start; in dlm_posix_lock()
147 op->info.end = fl->fl_end; in dlm_posix_lock()
148 op->info.owner = (__u64)(long) fl->c.flc_owner; in dlm_posix_lock()
150 if (fl->fl_lmops && fl->fl_lmops->lm_grant) { in dlm_posix_lock()
158 op_data->callback = fl->fl_lmops->lm_grant; in dlm_posix_lock()
160 locks_copy_lock(&op_data->flc, fl); in dlm_posix_lock()
161 op_data->fl = fl; in dlm_posix_lock()
225 if (locks_lock_file_wait(file, fl) < 0) in dlm_posix_lock()
242 struct file_lock *fl; in dlm_plock_callback() local
244 int (*notify)(struct file_lock *fl, int result) = NULL; in dlm_plock_callback()
252 fl = op_data->fl; in dlm_plock_callback()
256 notify(fl, op->info.rv); in dlm_plock_callback()
272 (unsigned long long)op->info.number, file, fl); in dlm_plock_callback()
275 rv = notify(fl, 0); in dlm_plock_callback()
289 struct file_lock *fl) in dlm_posix_unlock() argument
294 unsigned char saved_flags = fl->c.flc_flags; in dlm_posix_unlock()
307 fl->c.flc_flags |= FL_EXISTS; in dlm_posix_unlock()
309 rv = locks_lock_file_wait(file, fl); in dlm_posix_unlock()
320 op->info.pid = fl->c.flc_pid; in dlm_posix_unlock()
323 op->info.start = fl->fl_start; in dlm_posix_unlock()
324 op->info.end = fl->fl_end; in dlm_posix_unlock()
325 op->info.owner = (__u64)(long) fl->c.flc_owner; in dlm_posix_unlock()
327 if (fl->c.flc_flags & FL_CLOSE) { in dlm_posix_unlock()
348 fl->c.flc_flags = saved_flags; in dlm_posix_unlock()
360 struct file_lock *fl) in dlm_posix_cancel() argument
370 if (WARN_ON_ONCE(!fl->fl_lmops || !fl->fl_lmops->lm_grant)) in dlm_posix_cancel()
378 info.pid = fl->c.flc_pid; in dlm_posix_cancel()
379 info.ex = lock_is_write(fl); in dlm_posix_cancel()
383 info.start = fl->fl_start; in dlm_posix_cancel()
384 info.end = fl->fl_end; in dlm_posix_cancel()
385 info.owner = (__u64)(long) fl->c.flc_owner; in dlm_posix_cancel()
404 op->data->callback(op->data->fl, -EINTR); in dlm_posix_cancel()
412 rv = dlm_posix_unlock(lockspace, number, file, fl); in dlm_posix_cancel()
423 struct file_lock *fl) in dlm_posix_get() argument
440 op->info.pid = fl->c.flc_pid; in dlm_posix_get()
441 op->info.ex = lock_is_write(fl); in dlm_posix_get()
444 op->info.start = fl->fl_start; in dlm_posix_get()
445 op->info.end = fl->fl_end; in dlm_posix_get()
446 op->info.owner = (__u64)(long) fl->c.flc_owner; in dlm_posix_get()
458 fl->c.flc_type = F_UNLCK; in dlm_posix_get()
462 locks_init_lock(fl); in dlm_posix_get()
463 fl->c.flc_type = (op->info.ex) ? F_WRLCK : F_RDLCK; in dlm_posix_get()
464 fl->c.flc_flags = FL_POSIX; in dlm_posix_get()
465 fl->c.flc_pid = op->info.pid; in dlm_posix_get()
467 fl->c.flc_pid = -fl->c.flc_pid; in dlm_posix_get()
468 fl->fl_start = op->info.start; in dlm_posix_get()
469 fl->fl_end = op->info.end; in dlm_posix_get()