summaryrefslogtreecommitdiff
path: root/fs/jffs2/README.Locking
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2005-04-13 17:22:38 +0400
committerThomas Gleixner <tglx@mtd.linutronix.de>2005-05-23 15:17:49 +0400
commit7d200960d4f3d1b50c3b9e9688408d9f81c66ff4 (patch)
tree0faf7439968a955f55871048448abb36fa44c090 /fs/jffs2/README.Locking
parent0a18cde60f384d1f7aa012aba004766fb633a31d (diff)
downloadlinux-7d200960d4f3d1b50c3b9e9688408d9f81c66ff4.tar.xz
[JFFS2] Fix inode allocation race
Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'fs/jffs2/README.Locking')
-rw-r--r--fs/jffs2/README.Locking6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/jffs2/README.Locking b/fs/jffs2/README.Locking
index 49771cf8513a..b7943439b6ec 100644
--- a/fs/jffs2/README.Locking
+++ b/fs/jffs2/README.Locking
@@ -1,4 +1,4 @@
- $Id: README.Locking,v 1.9 2004/11/20 10:35:40 dwmw2 Exp $
+ $Id: README.Locking,v 1.12 2005/04/13 13:22:35 dwmw2 Exp $
JFFS2 LOCKING DOCUMENTATION
---------------------------
@@ -108,6 +108,10 @@ in-core jffs2_inode_cache objects (each inode in JFFS2 has the
correspondent jffs2_inode_cache object). So, the inocache_lock
has to be locked while walking the c->inocache_list hash buckets.
+This spinlock also covers allocation of new inode numbers, which is
+currently just '++->highest_ino++', but might one day get more complicated
+if we need to deal with wrapping after 4 milliard inode numbers are used.
+
Note, the f->sem guarantees that the correspondent jffs2_inode_cache
will not be removed. So, it is allowed to access it without locking
the inocache_lock spinlock.