# --- SDE-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# Filename: package/.../unionfs/vserver.diff
# Copyright (C) 2006 The OpenSDE Project
#
# More information can be found in the files COPYING and README.
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
# --- SDE-COPYRIGHT-NOTE-END ---

--- ./inode.c.orig	2006-10-08 07:37:22.000000000 -0400
+++ ./inode.c	2006-10-08 07:40:11.000000000 -0400
@@ -258,7 +258,7 @@
 				       dbstart(new_dentry)))) {
 			err =
 			    vfs_unlink(hidden_dir_dentry->d_inode,
-				       whiteout_dentry);
+				       whiteout_dentry, NULL);
 		}
 		fist_copy_attr_times(dir, hidden_dir_dentry->d_inode);
 		dir->i_nlink = get_nlinks(dir);
@@ -286,7 +286,7 @@
 	if (!(err = is_robranch(old_dentry)))
 		err =
 		    vfs_link(hidden_old_dentry, hidden_dir_dentry->d_inode,
-			     hidden_new_dentry);
+			     hidden_new_dentry, NULL);
 	unlock_dir(hidden_dir_dentry);
 
       docopyup:
@@ -310,7 +310,7 @@
 				err =
 				    vfs_link(hidden_old_dentry,
 					     hidden_dir_dentry->d_inode,
-					     hidden_new_dentry);
+					     hidden_new_dentry, NULL);
 				unlock_dir(hidden_dir_dentry);
 				goto check_link;
 			}
@@ -389,7 +389,7 @@
 		if (!(err = is_robranch_super(dentry->d_sb, bstart))) {
 			err =
 			    vfs_unlink(hidden_dir_dentry->d_inode,
-				       whiteout_dentry);
+				       whiteout_dentry, NULL);
 		}
 		DPUT(whiteout_dentry);
 
@@ -435,7 +435,7 @@
 			mode = S_IALLUGO;
 			err =
 			    vfs_symlink(hidden_dir_dentry->d_inode,
-					hidden_dentry, symname, mode);
+					hidden_dentry, symname, mode, NULL);
 		}
 		unlock_dir(hidden_dir_dentry);
 
@@ -514,7 +514,7 @@
 		if (!(err = is_robranch_super(dentry->d_sb, bstart))) {
 			err =
 			    vfs_unlink(hidden_parent_dentry->d_inode,
-				       whiteout_dentry);
+				       whiteout_dentry, NULL);
 		}
 		DPUT(whiteout_dentry);
 
@@ -553,7 +553,7 @@
 		if (!(err = is_robranch_super(dentry->d_sb, bindex))) {
 			err =
 			    vfs_mkdir(hidden_parent_dentry->d_inode,
-				      hidden_dentry, mode);
+				      hidden_dentry, mode, NULL);
 		}
 		unlock_dir(hidden_parent_dentry);
 
@@ -649,7 +649,7 @@
 		//found a.wh.foo entry, remove it then do vfs_mkdir
 		if (!(err = is_robranch_super(dentry->d_sb, bstart)))
 			err = vfs_unlink(hidden_parent_dentry->d_inode,
-					 whiteout_dentry);
+					 whiteout_dentry, NULL);
 		DPUT(whiteout_dentry);
 
 		unlock_dir(hidden_parent_dentry);
@@ -683,7 +683,7 @@
 		}
 		if (!(err = is_robranch_super(dentry->d_sb, bindex))) {
 			err = vfs_mknod(hidden_parent_dentry->d_inode,
-					hidden_dentry, mode, dev);
+					hidden_dentry, mode, dev, NULL);
 		}
 		/* XXX this could potentially return a negative hidden_dentry! */
 		if (err || !hidden_dentry->d_inode) {
--- ./copyup.c.orig	2006-09-16 22:03:39.000000000 -0400
+++ ./copyup.c	2006-10-08 16:38:54.000000000 -0400
@@ -216,10 +216,10 @@
 	current->fsgid = new_hidden_parent_dentry->d_inode->i_gid;
 	if (S_ISDIR(old_hidden_dentry->d_inode->i_mode)) {
 		err = vfs_mkdir(new_hidden_parent_dentry->d_inode,
-				new_hidden_dentry, S_IRWXU);
+				new_hidden_dentry, S_IRWXU, NULL);
 	} else if (S_ISLNK(old_hidden_dentry->d_inode->i_mode)) {
 		err = vfs_symlink(new_hidden_parent_dentry->d_inode,
-				  new_hidden_dentry, symbuf, S_IRWXU);
+				  new_hidden_dentry, symbuf, S_IRWXU, NULL);
 	} else if (S_ISBLK(old_hidden_dentry->d_inode->i_mode)
 		   || S_ISCHR(old_hidden_dentry->d_inode->i_mode)
 		   || S_ISFIFO(old_hidden_dentry->d_inode->i_mode)
@@ -227,7 +227,7 @@
 		err = vfs_mknod(new_hidden_parent_dentry->d_inode,
 				new_hidden_dentry,
 				old_hidden_dentry->d_inode->i_mode,
-				old_hidden_dentry->d_inode->i_rdev);
+				old_hidden_dentry->d_inode->i_rdev, NULL);
 	} else if (S_ISREG(old_hidden_dentry->d_inode->i_mode)) {
 		err = vfs_create(new_hidden_parent_dentry->d_inode,
 				 new_hidden_dentry, S_IRWXU, NULL);
@@ -354,7 +354,7 @@
 			 * or something else happened so let's unlink; we don't
 			 * really care about the return value of vfs_unlink */
 			vfs_unlink(new_hidden_parent_dentry->d_inode,
-				   new_hidden_dentry);
+				   new_hidden_dentry, NULL);
 
 			goto out_dir;
 		}
@@ -660,7 +660,7 @@
 			current->fsuid = hidden_parent_dentry->d_inode->i_uid;
 			current->fsgid = hidden_parent_dentry->d_inode->i_gid;
 			err = vfs_mkdir(hidden_parent_dentry->d_inode,
-					hidden_dentry, S_IRWXUGO);
+					hidden_dentry, S_IRWXUGO, NULL);
 			current->fsuid = saved_uid;
 			current->fsgid = saved_gid;
 			if (!err)
--- ./dirhelper.c.orig	2006-10-08 16:42:20.000000000 -0400
+++ ./dirhelper.c	2006-10-08 16:44:22.000000000 -0400
@@ -88,7 +88,7 @@
 				break;
 			}
 			if (hidden_dentry->d_inode)
-				err = vfs_unlink(hidden_dir, hidden_dentry);
+				err = vfs_unlink(hidden_dir, hidden_dentry, NULL);
 			DPUT(hidden_dentry);
 			if (err)
 				break;
--- ./rename.c.orig	2006-10-08 16:48:20.000000000 -0400
+++ ./rename.c	2006-10-08 16:48:50.000000000 -0400
@@ -86,7 +86,7 @@
 		if (!(err = is_robranch_super(old_dentry->d_sb, bindex))) {
 			err =
 			    vfs_unlink(hidden_wh_dir_dentry->d_inode,
-				       hidden_wh_dentry);
+				       hidden_wh_dentry, NULL);
 		}
 		DPUT(hidden_wh_dentry);
 		unlock_dir(hidden_wh_dir_dentry);
@@ -211,7 +211,7 @@
 		if (!(err = is_robranch_super(old_dir->i_sb, bindex))) {
 			err =
 			    vfs_unlink(unlink_dir_dentry->d_inode,
-				       unlink_dentry);
+				       unlink_dentry, NULL);
 		}
 
 		fist_copy_attr_times(new_dentry->d_parent->d_inode,
--- ./unlink.c.orig	2006-10-08 16:50:25.000000000 -0400
+++ ./unlink.c	2006-10-08 16:50:58.000000000 -0400
@@ -50,7 +50,7 @@
 		DGET(hidden_dentry);
 		if (!(err = is_robranch_super(dentry->d_sb, bindex)))
 			err = vfs_unlink(hidden_dir_dentry->d_inode,
-					 hidden_dentry);
+					 hidden_dentry, NULL);
 		DPUT(hidden_dentry);
 		fist_copy_attr_times(dir, hidden_dir_dentry->d_inode);
 		unlock_dir(hidden_dir_dentry);
@@ -118,7 +118,7 @@
 	/* avoid destroying the hidden inode if the file is in use */
 	DGET(hidden_dentry);
 	if (!(err = is_robranch_super(dentry->d_sb, bindex)))
-		err = vfs_unlink(hidden_dir_dentry->d_inode, hidden_dentry);
+		err = vfs_unlink(hidden_dir_dentry->d_inode, hidden_dentry, NULL);
 	DPUT(hidden_dentry);
 	fist_copy_attr_times(dir, hidden_dir_dentry->d_inode);
 	unlock_dir(hidden_dir_dentry);
@@ -197,7 +197,7 @@
 	/* avoid destroying the hidden inode if the file is in use */
 	DGET(hidden_dentry);
 	if (!(err = is_robranch(dentry))) {
-		err = vfs_rmdir(hidden_dir_dentry->d_inode, hidden_dentry);
+		err = vfs_rmdir(hidden_dir_dentry->d_inode, hidden_dentry, NULL);
 	}
 	DPUT(hidden_dentry);
 
--- ./commonfops.c.orig	2006-10-08 16:52:56.000000000 -0400
+++ ./commonfops.c	2006-10-08 16:53:47.000000000 -0400
@@ -149,7 +149,7 @@
 	/* bring it to the same state as an unlinked file */
 	hidden_dentry = dtohd_index(dentry, dbstart(dentry));
 	hidden_dir_dentry = lock_parent(hidden_dentry);
-	err = vfs_unlink(hidden_dir_dentry->d_inode, hidden_dentry);
+	err = vfs_unlink(hidden_dir_dentry->d_inode, hidden_dentry, NULL);
 	unlock_dir(hidden_dir_dentry);
 
       out: