ret = jffs2_do_link(c, dir_f, f->inocache->ino, type, dentry->d_name.name, dentry->d_name.len); 
now = get_seconds(); ret = jffs2_do_link(c, dir_f, f->inocache->ino, type, dentry->d_name.name, dentry->d_name.len, now); 
static int jffs2_link (struct dentry *old_dentry, struct inode *dir_i, struct dentry *dentry){	struct jffs2_sb_info *c = JFFS2_SB_INFO(old_dentry->d_inode->i_sb);	struct jffs2_inode_info *f = JFFS2_INODE_INFO(old_dentry->d_inode);	struct jffs2_inode_info *dir_f = JFFS2_INODE_INFO(dir_i);	int ret;	uint8_t type;	/* Don't let people make hard links to bad inodes. */	if (!f->inocache)		return -EIO;	if (S_ISDIR(old_dentry->d_inode->i_mode))		return -EPERM;	/* XXX: This is ugly */	type = (old_dentry->d_inode->i_mode & S_IFMT) >> 12;	if (!type) type = DT_REG;	ret = jffs2_do_link(c, dir_f, f->inocache->ino, type, dentry->d_name.name, dentry->d_name.len);	if (!ret) {		down(&f->sem);		old_dentry->d_inode->i_nlink = ++f->inocache->nlink;		up(&f->sem);		d_instantiate(dentry, old_dentry->d_inode);		atomic_inc(&old_dentry->d_inode->i_count);	}	return ret;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/3a69e0cd22cf34920508a4032d53e41251925f53/dir.c/buggy/fs/jffs2/dir.c