down(&f->sem); 
struct inode *jffs2_new_inode (struct inode *dir_i, int mode, struct jffs2_raw_inode *ri){	struct inode *inode;	struct super_block *sb = dir_i->i_sb;	struct jffs2_sb_info *c;	struct jffs2_inode_info *f;	int ret;	D1(printk(KERN_DEBUG "jffs2_new_inode(): dir_i %ld, mode 0x%x\n", dir_i->i_ino, mode));	c = JFFS2_SB_INFO(sb);	inode = new_inode(sb);	if (!inode)		return ERR_PTR(-ENOMEM);	f = JFFS2_INODE_INFO(inode);	jffs2_init_inode_info(f);	memset(ri, 0, sizeof(*ri));	/* Set OS-specific defaults for new inodes */	ri->uid = cpu_to_je16(current->fsuid);	if (dir_i->i_mode & S_ISGID) {		ri->gid = cpu_to_je16(dir_i->i_gid);		if (S_ISDIR(mode))			mode |= S_ISGID;	} else {		ri->gid = cpu_to_je16(current->fsgid);	}	ri->mode =  cpu_to_jemode(mode);	ret = jffs2_do_new_inode (c, f, mode, ri);	if (ret) {		make_bad_inode(inode);		iput(inode);		return ERR_PTR(ret);	}	inode->i_nlink = 1;	inode->i_ino = je32_to_cpu(ri->ino);	inode->i_mode = jemode_to_cpu(ri->mode);	inode->i_gid = je16_to_cpu(ri->gid);	inode->i_uid = je16_to_cpu(ri->uid);	inode->i_atime = inode->i_ctime = inode->i_mtime = CURRENT_TIME_SEC;	ri->atime = ri->mtime = ri->ctime = cpu_to_je32(I_SEC(inode->i_mtime));	inode->i_blksize = PAGE_SIZE;	inode->i_blocks = 0;	inode->i_size = 0;	insert_inode_hash(inode);	return inode;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/21eeb7aa116b1f59fc23339521173cbb13e57f1a/fs.c/buggy/fs/jffs2/fs.c