Lines Matching refs:request
1036 static int flock_lock_inode(struct inode *inode, struct file_lock *request) in flock_lock_inode() argument
1045 ctx = locks_get_lock_context(inode, request->fl_type); in flock_lock_inode()
1047 if (request->fl_type != F_UNLCK) in flock_lock_inode()
1049 return (request->fl_flags & FL_EXISTS) ? -ENOENT : 0; in flock_lock_inode()
1052 if (!(request->fl_flags & FL_ACCESS) && (request->fl_type != F_UNLCK)) { in flock_lock_inode()
1060 if (request->fl_flags & FL_ACCESS) in flock_lock_inode()
1064 if (request->fl_file != fl->fl_file) in flock_lock_inode()
1066 if (request->fl_type == fl->fl_type) in flock_lock_inode()
1073 if (request->fl_type == F_UNLCK) { in flock_lock_inode()
1074 if ((request->fl_flags & FL_EXISTS) && !found) in flock_lock_inode()
1081 if (!flock_locks_conflict(request, fl)) in flock_lock_inode()
1084 if (!(request->fl_flags & FL_SLEEP)) in flock_lock_inode()
1087 locks_insert_block(fl, request, flock_locks_conflict); in flock_lock_inode()
1090 if (request->fl_flags & FL_ACCESS) in flock_lock_inode()
1092 locks_copy_lock(new_fl, request); in flock_lock_inode()
1093 locks_move_blocks(new_fl, request); in flock_lock_inode()
1104 trace_flock_lock_inode(inode, request, error); in flock_lock_inode()
1108 static int posix_lock_inode(struct inode *inode, struct file_lock *request, in posix_lock_inode() argument
1121 ctx = locks_get_lock_context(inode, request->fl_type); in posix_lock_inode()
1123 return (request->fl_type == F_UNLCK) ? 0 : -ENOMEM; in posix_lock_inode()
1131 if (!(request->fl_flags & FL_ACCESS) && in posix_lock_inode()
1132 (request->fl_type != F_UNLCK || in posix_lock_inode()
1133 request->fl_start != 0 || request->fl_end != OFFSET_MAX)) { in posix_lock_inode()
1145 if (request->fl_type != F_UNLCK) { in posix_lock_inode()
1147 if (!posix_locks_conflict(request, fl)) in posix_lock_inode()
1152 if (!(request->fl_flags & FL_SLEEP)) in posix_lock_inode()
1164 __locks_wake_up_blocks(request); in posix_lock_inode()
1165 if (likely(!posix_locks_deadlock(request, fl))) { in posix_lock_inode()
1167 __locks_insert_block(fl, request, in posix_lock_inode()
1177 if (request->fl_flags & FL_ACCESS) in posix_lock_inode()
1182 if (posix_same_owner(request, fl)) in posix_lock_inode()
1188 if (!posix_same_owner(request, fl)) in posix_lock_inode()
1192 if (request->fl_type == fl->fl_type) { in posix_lock_inode()
1197 if (fl->fl_end < request->fl_start - 1) in posix_lock_inode()
1202 if (fl->fl_start - 1 > request->fl_end) in posix_lock_inode()
1210 if (fl->fl_start > request->fl_start) in posix_lock_inode()
1211 fl->fl_start = request->fl_start; in posix_lock_inode()
1213 request->fl_start = fl->fl_start; in posix_lock_inode()
1214 if (fl->fl_end < request->fl_end) in posix_lock_inode()
1215 fl->fl_end = request->fl_end; in posix_lock_inode()
1217 request->fl_end = fl->fl_end; in posix_lock_inode()
1222 request = fl; in posix_lock_inode()
1228 if (fl->fl_end < request->fl_start) in posix_lock_inode()
1230 if (fl->fl_start > request->fl_end) in posix_lock_inode()
1232 if (request->fl_type == F_UNLCK) in posix_lock_inode()
1234 if (fl->fl_start < request->fl_start) in posix_lock_inode()
1239 if (fl->fl_end > request->fl_end) { in posix_lock_inode()
1243 if (fl->fl_start >= request->fl_start) { in posix_lock_inode()
1261 locks_copy_lock(new_fl, request); in posix_lock_inode()
1262 request = new_fl; in posix_lock_inode()
1264 locks_insert_lock_ctx(request, &fl->fl_list); in posix_lock_inode()
1282 if (request->fl_type == F_UNLCK) { in posix_lock_inode()
1283 if (request->fl_flags & FL_EXISTS) in posix_lock_inode()
1292 locks_copy_lock(new_fl, request); in posix_lock_inode()
1293 locks_move_blocks(new_fl, request); in posix_lock_inode()
1308 right->fl_start = request->fl_end + 1; in posix_lock_inode()
1312 left->fl_end = request->fl_start - 1; in posix_lock_inode()
1326 trace_posix_lock_inode(inode, request, error); in posix_lock_inode()