|
|
|
# --- 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:
|