inode_dir_notify(dir, DN_CREATE); 
fsnotify_create(dir, new_dentry->d_name.name); 
int vfs_link(struct dentry *old_dentry, struct inode *dir, struct dentry *new_dentry){	struct inode *inode = old_dentry->d_inode;	int error;	if (!inode)		return -ENOENT;	error = may_create(dir, new_dentry, NULL);	if (error)		return error;	if (dir->i_sb != inode->i_sb)		return -EXDEV;	/*	 * A link to an append-only or immutable file cannot be created.	 */	if (IS_APPEND(inode) || IS_IMMUTABLE(inode))		return -EPERM;	if (!dir->i_op || !dir->i_op->link)		return -EPERM;	if (S_ISDIR(old_dentry->d_inode->i_mode))		return -EPERM;	error = security_inode_link(old_dentry, dir, new_dentry);	if (error)		return error;	down(&old_dentry->d_inode->i_sem);	DQUOT_INIT(dir);	error = dir->i_op->link(old_dentry, dir, new_dentry);	up(&old_dentry->d_inode->i_sem);	if (!error) {		inode_dir_notify(dir, DN_CREATE);		security_inode_post_link(old_dentry, dir, new_dentry);	}	return error;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/0eeca28300df110bd6ed54b31193c83b87921443/namei.c/clean/fs/namei.c