Lines Matching full:locks
3 * linux/fs/locks.c
5 * We implement four types of file locks: BSD locks, posix locks, open
6 * file description locks, and leases. For details about BSD locks,
17 * Waiting and applied locks are all kept in trees whose properties are:
126 * The global file_lock_list is only used for displaying /proc/locks, so we
145 * We hash locks by lockowner in order to optimize searching for the lock a
149 * buckets when we have more lockowners holding locks, but that's a little
161 * requests (in contrast to those that are acting as records of acquired locks).
223 pr_warn("Leaked locks on dev=0x%x:0x%x ino=0x%lx:\n", in locks_check_ctx_lists()
586 /* Check if two locks overlap each other.
595 * Check whether two locks have the same owner.
717 * no new locks can be inserted into its fl_blocked_requests list, and in locks_delete_block()
840 * checks for shared/exclusive status of overlapping locks.
858 /* POSIX locks owned by the same process do not conflict with in posix_locks_conflict()
877 /* F_UNLCK checks any locks on the same fd. */ in posix_test_locks_conflict()
892 /* FLOCK locks referring to the same filp do not conflict with in flock_locks_conflict()
945 * locks.
964 * For FL_OFDLCK locks, the owner is the filp, not the files_struct.
970 * locks that just checks for the case where two tasks are attempting to
971 * upgrade from read to write locks on the same inode.
1001 * FL_OFDLCK locks, since they aren't owned by a process, per-se. in posix_locks_deadlock()
1015 /* Try to create a FLOCK lock on filp. We always insert new FLOCK locks
1016 * after any leases, but before any posix locks.
1117 * In some cases we can be sure, that no new locks will be needed in posix_lock_inode()
1130 * New lock request. Walk all POSIX locks and look for conflicts. If in posix_lock_inode()
1156 * locks list must be done while holding the same lock! in posix_lock_inode()
1161 * Ensure that we don't find any locks blocked on this in posix_lock_inode()
1186 /* Process locks with this owner. */ in posix_lock_inode()
1208 * locks to the higher end address. in posix_lock_inode()
1273 * The above code only modifies existing locks in case of merging or in posix_lock_inode()
1321 * Free any unused locks. in posix_lock_inode()
1339 * We merge adjacent & overlapping locks whenever possible.
1340 * POSIX locks are sorted by owner task, then by starting address
2076 * LOCK_MAND locks were broken for a long time in that they never in SYSCALL_DEFINE2()
2265 * locks, the ->lock() interface may return asynchronously, before the lock has
2277 * grants a lock so the VFS can find out which locks are locally held and do
2355 * If the cmd is requesting file-private locks, then set the in fcntl_setlk()
2384 * Detect close/fcntl races and recover by zapping all POSIX locks in fcntl_setlk()
2387 * unlocking though, or for OFD locks. in fcntl_setlk()
2477 * If the cmd is requesting file-private locks, then set the in fcntl_setlk64()
2506 * Detect close/fcntl races and recover by zapping all POSIX locks in fcntl_setlk64()
2509 * unlocking though, or for OFD locks. in fcntl_setlk64()
2535 * from the task's fd array. POSIX locks belonging to this task
2546 * If there are no locks held on this file, we don't need to call in locks_remove_posix()
2627 /* remove any OFD locks */ in locks_remove_file()
2630 /* remove flock locks */ in locks_remove_file()
2660 * vfs_inode_has_locks - are any file locks held on @inode?
2661 * @inode: inode to check for locks
2663 * Return true if there are any FL_POSIX or FL_FLOCK locks currently
2898 proc_create_seq_private("locks", 0, NULL, &locks_seq_operations, in proc_locks_init()