int vfs_rename_dir(struct inode *old_dir, struct dentry *old_dentry, struct inode *new_dir, struct dentry *new_dentry) 
static int vfs_rename_dir(struct inode *old_dir, struct dentry *old_dentry, struct inode *new_dir, struct dentry *new_dentry) 
int vfs_rename_dir(struct inode *old_dir, struct dentry *old_dentry,	       struct inode *new_dir, struct dentry *new_dentry){	int error = 0;	struct inode *target;	/*	 * If we are going to change the parent - check write permissions,	 * we'll need to flip '..'.	 */	if (new_dir != old_dir) {		error = permission(old_dentry->d_inode, MAY_WRITE, NULL);		if (error)			return error;	}	error = security_inode_rename(old_dir, old_dentry, new_dir, new_dentry);	if (error)		return error;	target = new_dentry->d_inode;	if (target) {		down(&target->i_sem);		dentry_unhash(new_dentry);	}	if (d_mountpoint(old_dentry)||d_mountpoint(new_dentry))		error = -EBUSY;	else 		error = old_dir->i_op->rename(old_dir, old_dentry, new_dir, new_dentry);	if (target) {		if (!error)			target->i_flags |= S_DEAD;		up(&target->i_sem);		if (d_unhashed(new_dentry))			d_rehash(new_dentry);		dput(new_dentry);	}	if (!error) {		d_move(old_dentry,new_dentry);		security_inode_post_rename(old_dir, old_dentry,					   new_dir, new_dentry);	}	return error;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/75c96f85845a6707b0f9916cb263cb3584f7d48f/namei.c/clean/fs/namei.c