Lines Matching refs:fl
985 static int gfs2_lock(struct file *file, int cmd, struct file_lock *fl) in gfs2_lock() argument
991 if (!(fl->fl_flags & FL_POSIX)) in gfs2_lock()
993 if (__mandatory_lock(&ip->i_inode) && fl->fl_type != F_UNLCK) in gfs2_lock()
999 fl->fl_type = F_UNLCK; in gfs2_lock()
1002 if (fl->fl_type == F_UNLCK) in gfs2_lock()
1003 posix_lock_file_wait(file, fl); in gfs2_lock()
1007 return dlm_posix_get(ls->ls_dlm, ip->i_no_addr, file, fl); in gfs2_lock()
1008 else if (fl->fl_type == F_UNLCK) in gfs2_lock()
1009 return dlm_posix_unlock(ls->ls_dlm, ip->i_no_addr, file, fl); in gfs2_lock()
1011 return dlm_posix_lock(ls->ls_dlm, ip->i_no_addr, file, cmd, fl); in gfs2_lock()
1014 static int do_flock(struct file *file, int cmd, struct file_lock *fl) in do_flock() argument
1025 state = (fl->fl_type == F_WRLCK) ? LM_ST_EXCLUSIVE : LM_ST_SHARED; in do_flock()
1059 error = flock_lock_file_wait(file, fl); in do_flock()
1068 static void do_unflock(struct file *file, struct file_lock *fl) in do_unflock() argument
1074 flock_lock_file_wait(file, fl); in do_unflock()
1091 static int gfs2_flock(struct file *file, int cmd, struct file_lock *fl) in gfs2_flock() argument
1093 if (!(fl->fl_flags & FL_FLOCK)) in gfs2_flock()
1095 if (fl->fl_type & LOCK_MAND) in gfs2_flock()
1098 if (fl->fl_type == F_UNLCK) { in gfs2_flock()
1099 do_unflock(file, fl); in gfs2_flock()
1102 return do_flock(file, cmd, fl); in gfs2_flock()