diff options
Diffstat (limited to 'Documentation/filesystems/directory-locking')
-rw-r--r-- | Documentation/filesystems/directory-locking | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Documentation/filesystems/directory-locking b/Documentation/filesystems/directory-locking index d7099a9266fb..ff7b611abf33 100644 --- a/Documentation/filesystems/directory-locking +++ b/Documentation/filesystems/directory-locking | |||
@@ -1,5 +1,6 @@ | |||
1 | Locking scheme used for directory operations is based on two | 1 | Locking scheme used for directory operations is based on two |
2 | kinds of locks - per-inode (->i_sem) and per-filesystem (->s_vfs_rename_sem). | 2 | kinds of locks - per-inode (->i_mutex) and per-filesystem |
3 | (->s_vfs_rename_mutex). | ||
3 | 4 | ||
4 | For our purposes all operations fall in 5 classes: | 5 | For our purposes all operations fall in 5 classes: |
5 | 6 | ||
@@ -63,7 +64,7 @@ objects - A < B iff A is an ancestor of B. | |||
63 | attempt to acquire some lock and already holds at least one lock. Let's | 64 | attempt to acquire some lock and already holds at least one lock. Let's |
64 | consider the set of contended locks. First of all, filesystem lock is | 65 | consider the set of contended locks. First of all, filesystem lock is |
65 | not contended, since any process blocked on it is not holding any locks. | 66 | not contended, since any process blocked on it is not holding any locks. |
66 | Thus all processes are blocked on ->i_sem. | 67 | Thus all processes are blocked on ->i_mutex. |
67 | 68 | ||
68 | Non-directory objects are not contended due to (3). Thus link | 69 | Non-directory objects are not contended due to (3). Thus link |
69 | creation can't be a part of deadlock - it can't be blocked on source | 70 | creation can't be a part of deadlock - it can't be blocked on source |