Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c2b38989 authored by Josef 'Jeff' Sipek's avatar Josef 'Jeff' Sipek Committed by Linus Torvalds
Browse files

Documentation: Fix up docs still talking about i_sem



.. it got changed to 'i_mutex' some time ago.

Signed-off-by: default avatarJosef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 8f53b6fc
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
	Locking scheme used for directory operations is based on two
kinds of locks - per-inode (->i_sem) and per-filesystem (->s_vfs_rename_sem).
kinds of locks - per-inode (->i_mutex) and per-filesystem
(->s_vfs_rename_mutex).

	For our purposes all operations fall in 5 classes:

@@ -63,7 +64,7 @@ objects - A < B iff A is an ancestor of B.
attempt to acquire some lock and already holds at least one lock.  Let's
consider the set of contended locks.  First of all, filesystem lock is
not contended, since any process blocked on it is not holding any locks.
Thus all processes are blocked on ->i_sem.
Thus all processes are blocked on ->i_mutex.

	Non-directory objects are not contended due to (3).  Thus link
creation can't be a part of deadlock - it can't be blocked on source
+4 −4
Original line number Diff line number Diff line
@@ -107,7 +107,7 @@ free to drop it...
---
[informational]

->link() callers hold ->i_sem on the object we are linking to.  Some of your
->link() callers hold ->i_mutex on the object we are linking to.  Some of your
problems might be over...

---
@@ -130,9 +130,9 @@ went in - and hadn't been documented ;-/). Just remove it from fs_flags
---
[mandatory]

->setattr() is called without BKL now.  Caller _always_ holds ->i_sem, so
watch for ->i_sem-grabbing code that might be used by your ->setattr().
Callers of notify_change() need ->i_sem now.
->setattr() is called without BKL now.  Caller _always_ holds ->i_mutex, so
watch for ->i_mutex-grabbing code that might be used by your ->setattr().
Callers of notify_change() need ->i_mutex now.

---
[recommended]