rd->mctime = cpu_to_je32(get_seconds()); 
rd->mctime = cpu_to_je32(time); 
int jffs2_do_link (struct jffs2_sb_info *c, struct jffs2_inode_info *dir_f, uint32_t ino, uint8_t type, const char *name, int namelen){	struct jffs2_raw_dirent *rd;	struct jffs2_full_dirent *fd;	uint32_t alloclen, phys_ofs;	int ret;	rd = jffs2_alloc_raw_dirent();	if (!rd)		return -ENOMEM;	ret = jffs2_reserve_space(c, sizeof(*rd)+namelen, &phys_ofs, &alloclen, ALLOC_NORMAL);	if (ret) {		jffs2_free_raw_dirent(rd);		return ret;	}		down(&dir_f->sem);	/* Build a deletion node */	rd->magic = cpu_to_je16(JFFS2_MAGIC_BITMASK);	rd->nodetype = cpu_to_je16(JFFS2_NODETYPE_DIRENT);	rd->totlen = cpu_to_je32(sizeof(*rd) + namelen);	rd->hdr_crc = cpu_to_je32(crc32(0, rd, sizeof(struct jffs2_unknown_node)-4));	rd->pino = cpu_to_je32(dir_f->inocache->ino);	rd->version = cpu_to_je32(++dir_f->highest_version);	rd->ino = cpu_to_je32(ino);	rd->mctime = cpu_to_je32(get_seconds());	rd->nsize = namelen;	rd->type = type;	rd->node_crc = cpu_to_je32(crc32(0, rd, sizeof(*rd)-8));	rd->name_crc = cpu_to_je32(crc32(0, name, namelen));	fd = jffs2_write_dirent(c, dir_f, rd, name, namelen, phys_ofs, ALLOC_NORMAL);		jffs2_free_raw_dirent(rd);	if (IS_ERR(fd)) {		jffs2_complete_reservation(c);		up(&dir_f->sem);		return PTR_ERR(fd);	}	/* File it. This will mark the old one obsolete. */	jffs2_add_fd_to_list(c, fd, &dir_f->dents);	jffs2_complete_reservation(c);	up(&dir_f->sem);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/3a69e0cd22cf34920508a4032d53e41251925f53/write.c/buggy/fs/jffs2/write.c