Lines Matching refs:locks

176  * POSIX fcntl locks, local file for BSD flock locks or <pid,sysid>
177 * pair for remote locks) is represented by a unique instance of
195 int lo_refs; /* (l) Number of locks referring to this */
213 * We have two types of directed graph, the first is the set of locks,
214 * both active and pending on a vnode. Within this graph, active locks
216 * edges). Pending locks have out-going edges to each blocking active
220 * added to or from new nodes (either new pending locks which only add
221 * out-going edges or new active locks which only add in-coming edges)
272 * Initialise various structures and locks.
473 * Avoid the common case of unlocking when inode has no locks.
555 * For remote locks, the caller may release its ref to
645 * pending locks when vnode is marked by VI_DOOMED flag.
691 * blocking locks. We also check the pending list for locks
699 ("locks disordered"));
704 ("two conflicting active locks"));
707 ("two overlapping locks from same owner"));
733 ("freeing state with pending locks"));
776 * sleeping waiting for locks on this vnode and then free all
777 * the remaining locks.
820 * We can just free all the active locks since they
842 * Return non-zero if locks 'x' and 'y' overlap.
979 * Walk the list of locks for the file and create an out-going edge
1016 * We also need to add edges to sleeping locks that block
1018 * mutually blocking locks simultaneously and also enforces a
1047 * Walk the list of pending locks for the file and create an in-coming
1108 * existing locks for the same owner as needed.
1131 * Re-check all dependant locks and remove edges to locks that we no
1134 * reduced but remains active. Any pending locks which have been been
1160 * adding any newly woken locks to 'granted'.
1176 * adding any newly woken locks to 'granted'.
1190 * locks owned by the same owner and processing any pending locks that
1192 * since the logic for updating existing locks is identical.
1195 * pending locks as a result of downgrading/unlocking. We simply
1196 * activate the newly granted locks by looping.
1218 * Skip over locks owned by other processes. Handle
1219 * any locks that overlap and are owned by ourselves.
1355 * Feed any newly active locks to lf_activate_lock.
1388 * Scan lock list for this file looking for locks that would block us.
1402 * For flock type locks, we must first remove
1403 * any shared locks that we hold before we sleep
1417 * locks, posix and otherwise.
1524 * downgrade or upgrade any overlapping locks this
1643 * Walk the list of locks for an inode and
1666 * Walk the list of locks for an inode to find an overlapping lock (if
1672 * type Pass 'SELF' to test only locks with the same
1673 * owner as lock, or 'OTHER' to test only locks
1795 * Any pending locks which have been been unblocked are added to
1866 struct lockdesclist locks;
1871 * active lock lists to build a list of locks that need
1877 STAILQ_INIT(&locks);
1899 STAILQ_INSERT_TAIL(&locks, ldesc, link);
1911 while ((ldesc = STAILQ_FIRST(&locks)) != NULL) {
1912 STAILQ_REMOVE_HEAD(&locks, link);
1928 struct lockdesclist locks;
1933 * active lock lists to build a list of locks that need
1939 STAILQ_INIT(&locks);
1965 STAILQ_INSERT_TAIL(&locks, ldesc, link);
1979 while ((ldesc = STAILQ_FIRST(&locks)) != NULL) {
1980 STAILQ_REMOVE_HEAD(&locks, link);
2002 KASSERT(sysid != 0, ("Can't clear local locks with F_UNLCKSYS"));