hfs_cat_build_key(fd.search_key, cnid, NULL); 
hfs_cat_build_key(sb, fd.search_key, cnid, NULL); 
int hfs_cat_create(u32 cnid, struct inode *dir, struct qstr *str, struct inode *inode){	struct hfs_find_data fd;	struct super_block *sb;	union hfs_cat_rec entry;	int entry_size;	int err;	dprint(DBG_CAT_MOD, "create_cat: %s,%u(%d)\n", str->name, cnid, inode->i_nlink);	if (dir->i_size >= HFS_MAX_VALENCE)		return -ENOSPC;	sb = dir->i_sb;	hfs_find_init(HFS_SB(sb)->cat_tree, &fd);	hfs_cat_build_key(fd.search_key, cnid, NULL);	entry_size = hfs_cat_build_thread(&entry, S_ISDIR(inode->i_mode) ?			HFS_CDR_THD : HFS_CDR_FTH,			dir->i_ino, str);	err = hfs_brec_find(&fd);	if (err != -ENOENT) {		if (!err)			err = -EEXIST;		goto err2;	}	err = hfs_brec_insert(&fd, &entry, entry_size);	if (err)		goto err2;	hfs_cat_build_key(fd.search_key, dir->i_ino, str);	entry_size = hfs_cat_build_record(&entry, cnid, inode);	err = hfs_brec_find(&fd);	if (err != -ENOENT) {		/* panic? */		if (!err)			err = -EEXIST;		goto err1;	}	err = hfs_brec_insert(&fd, &entry, entry_size);	if (err)		goto err1;	dir->i_size++;	dir->i_mtime = dir->i_ctime = CURRENT_TIME_SEC;	mark_inode_dirty(dir);	hfs_find_exit(&fd);	return 0;err1:	hfs_cat_build_key(fd.search_key, cnid, NULL);	if (!hfs_brec_find(&fd))		hfs_brec_remove(&fd);err2:	hfs_find_exit(&fd);	return err;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/328b9227865026268261a24a97a578907b280415/catalog.c/clean/fs/hfs/catalog.c