From 7d200960d4f3d1b50c3b9e9688408d9f81c66ff4 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Wed, 13 Apr 2005 14:22:38 +0100 Subject: [JFFS2] Fix inode allocation race Signed-off-by: David Woodhouse Signed-off-by: Thomas Gleixner --- fs/jffs2/write.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'fs/jffs2/write.c') diff --git a/fs/jffs2/write.c b/fs/jffs2/write.c index f3910dc..6910061 100644 --- a/fs/jffs2/write.c +++ b/fs/jffs2/write.c @@ -7,7 +7,7 @@ * * For licensing information, see the file 'LICENCE' in this directory. * - * $Id: write.c,v 1.91 2005/03/01 10:34:03 dedekind Exp $ + * $Id: write.c,v 1.92 2005/04/13 13:22:35 dwmw2 Exp $ * */ @@ -35,13 +35,12 @@ int jffs2_do_new_inode(struct jffs2_sb_info *c, struct jffs2_inode_info *f, uint f->inocache = ic; f->inocache->nlink = 1; f->inocache->nodes = (struct jffs2_raw_node_ref *)f->inocache; - f->inocache->ino = ++c->highest_ino; f->inocache->state = INO_STATE_PRESENT; - ri->ino = cpu_to_je32(f->inocache->ino); - D1(printk(KERN_DEBUG "jffs2_do_new_inode(): Assigned ino# %d\n", f->inocache->ino)); jffs2_add_ino_cache(c, f->inocache); + D1(printk(KERN_DEBUG "jffs2_do_new_inode(): Assigned ino# %d\n", f->inocache->ino)); + ri->ino = cpu_to_je32(f->inocache->ino); ri->magic = cpu_to_je16(JFFS2_MAGIC_BITMASK); ri->nodetype = cpu_to_je16(JFFS2_NODETYPE_INODE); -- cgit v1.1