diff options
author | David Woodhouse <dwmw2@infradead.org> | 2005-04-13 15:22:38 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@mtd.linutronix.de> | 2005-05-23 13:17:49 +0200 |
commit | 7d200960d4f3d1b50c3b9e9688408d9f81c66ff4 (patch) | |
tree | 0faf7439968a955f55871048448abb36fa44c090 /fs/jffs2/nodelist.c | |
parent | [MTD] NAND: Fix the broken dynamic array allocations (diff) | |
download | linux-7d200960d4f3d1b50c3b9e9688408d9f81c66ff4.tar.xz linux-7d200960d4f3d1b50c3b9e9688408d9f81c66ff4.zip |
[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/nodelist.c')
-rw-r--r-- | fs/jffs2/nodelist.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/jffs2/nodelist.c b/fs/jffs2/nodelist.c index b835a8652623..c9157e1ea40a 100644 --- a/fs/jffs2/nodelist.c +++ b/fs/jffs2/nodelist.c @@ -7,7 +7,7 @@ * * For licensing information, see the file 'LICENCE' in this directory. * - * $Id: nodelist.c,v 1.93 2005/02/27 23:01:32 dwmw2 Exp $ + * $Id: nodelist.c,v 1.94 2005/04/13 13:22:35 dwmw2 Exp $ * */ @@ -491,6 +491,10 @@ void jffs2_add_ino_cache (struct jffs2_sb_info *c, struct jffs2_inode_cache *new struct jffs2_inode_cache **prev; D2(printk(KERN_DEBUG "jffs2_add_ino_cache: Add %p (ino #%u)\n", new, new->ino)); spin_lock(&c->inocache_lock); + if (!new->ino) + new->ino = ++c->highest_ino; + + D2(printk(KERN_DEBUG "jffs2_add_ino_cache: Add %p (ino #%u)\n", new, new->ino)); prev = &c->inocache_list[new->ino % INOCACHE_HASHSIZE]; |