Lines Matching refs:request
1074 static int flock_lock_inode(struct inode *inode, struct file_lock *request) in flock_lock_inode() argument
1083 ctx = locks_get_lock_context(inode, request->c.flc_type); in flock_lock_inode()
1085 if (request->c.flc_type != F_UNLCK) in flock_lock_inode()
1087 return (request->c.flc_flags & FL_EXISTS) ? -ENOENT : 0; in flock_lock_inode()
1090 if (!(request->c.flc_flags & FL_ACCESS) && (request->c.flc_type != F_UNLCK)) { in flock_lock_inode()
1098 if (request->c.flc_flags & FL_ACCESS) in flock_lock_inode()
1102 if (request->c.flc_file != fl->c.flc_file) in flock_lock_inode()
1104 if (request->c.flc_type == fl->c.flc_type) in flock_lock_inode()
1111 if (lock_is_unlock(request)) { in flock_lock_inode()
1112 if ((request->c.flc_flags & FL_EXISTS) && !found) in flock_lock_inode()
1119 if (!flock_locks_conflict(&request->c, &fl->c)) in flock_lock_inode()
1122 if (!(request->c.flc_flags & FL_SLEEP)) in flock_lock_inode()
1125 locks_insert_block(&fl->c, &request->c, flock_locks_conflict); in flock_lock_inode()
1128 if (request->c.flc_flags & FL_ACCESS) in flock_lock_inode()
1130 locks_copy_lock(new_fl, request); in flock_lock_inode()
1131 locks_move_blocks(new_fl, request); in flock_lock_inode()
1142 trace_flock_lock_inode(inode, request, error); in flock_lock_inode()
1146 static int posix_lock_inode(struct inode *inode, struct file_lock *request, in posix_lock_inode() argument
1161 ctx = locks_get_lock_context(inode, request->c.flc_type); in posix_lock_inode()
1163 return lock_is_unlock(request) ? 0 : -ENOMEM; in posix_lock_inode()
1171 if (!(request->c.flc_flags & FL_ACCESS) && in posix_lock_inode()
1172 (request->c.flc_type != F_UNLCK || in posix_lock_inode()
1173 request->fl_start != 0 || request->fl_end != OFFSET_MAX)) { in posix_lock_inode()
1186 if (request->c.flc_type != F_UNLCK) { in posix_lock_inode()
1188 if (!posix_locks_conflict(&request->c, &fl->c)) in posix_lock_inode()
1204 if (!(request->c.flc_flags & FL_SLEEP)) in posix_lock_inode()
1216 __locks_wake_up_blocks(&request->c); in posix_lock_inode()
1217 if (likely(!posix_locks_deadlock(request, fl))) { in posix_lock_inode()
1219 __locks_insert_block(&fl->c, &request->c, in posix_lock_inode()
1229 if (request->c.flc_flags & FL_ACCESS) in posix_lock_inode()
1234 if (posix_same_owner(&request->c, &fl->c)) in posix_lock_inode()
1240 if (!posix_same_owner(&request->c, &fl->c)) in posix_lock_inode()
1244 if (request->c.flc_type == fl->c.flc_type) { in posix_lock_inode()
1249 if (fl->fl_end < request->fl_start - 1) in posix_lock_inode()
1254 if (fl->fl_start - 1 > request->fl_end) in posix_lock_inode()
1262 if (fl->fl_start > request->fl_start) in posix_lock_inode()
1263 fl->fl_start = request->fl_start; in posix_lock_inode()
1265 request->fl_start = fl->fl_start; in posix_lock_inode()
1266 if (fl->fl_end < request->fl_end) in posix_lock_inode()
1267 fl->fl_end = request->fl_end; in posix_lock_inode()
1269 request->fl_end = fl->fl_end; in posix_lock_inode()
1274 request = fl; in posix_lock_inode()
1280 if (fl->fl_end < request->fl_start) in posix_lock_inode()
1282 if (fl->fl_start > request->fl_end) in posix_lock_inode()
1284 if (lock_is_unlock(request)) in posix_lock_inode()
1286 if (fl->fl_start < request->fl_start) in posix_lock_inode()
1291 if (fl->fl_end > request->fl_end) { in posix_lock_inode()
1295 if (fl->fl_start >= request->fl_start) { in posix_lock_inode()
1313 locks_copy_lock(new_fl, request); in posix_lock_inode()
1314 locks_move_blocks(new_fl, request); in posix_lock_inode()
1315 request = new_fl; in posix_lock_inode()
1317 locks_insert_lock_ctx(&request->c, in posix_lock_inode()
1336 if (lock_is_unlock(request)) { in posix_lock_inode()
1337 if (request->c.flc_flags & FL_EXISTS) in posix_lock_inode()
1346 locks_copy_lock(new_fl, request); in posix_lock_inode()
1347 locks_move_blocks(new_fl, request); in posix_lock_inode()
1362 right->fl_start = request->fl_end + 1; in posix_lock_inode()
1366 left->fl_end = request->fl_start - 1; in posix_lock_inode()
1370 trace_posix_lock_inode(inode, request, error); in posix_lock_inode()