1 # --- SDE-COPYRIGHT-NOTE-BEGIN ---
2 # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
4 # Filename: package/.../unionfs/vserver.diff
5 # Copyright (C) 2006 The OpenSDE Project
7 # More information can be found in the files COPYING and README.
9 # This patch file is dual-licensed. It is available under the license the
10 # patched project is licensed under, as long as it is an OpenSource license
11 # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
12 # of the GNU General Public License as published by the Free Software
13 # Foundation; either version 2 of the License, or (at your option) any later
15 # --- SDE-COPYRIGHT-NOTE-END ---
17 --- ./inode.c.orig 2006-10-08 07:37:22.000000000 -0400
18 +++ ./inode.c 2006-10-08 07:40:11.000000000 -0400
20 dbstart(new_dentry)))) {
22 vfs_unlink(hidden_dir_dentry->d_inode,
24 + whiteout_dentry, NULL);
26 fist_copy_attr_times(dir, hidden_dir_dentry->d_inode);
27 dir->i_nlink = get_nlinks(dir);
29 if (!(err = is_robranch(old_dentry)))
31 vfs_link(hidden_old_dentry, hidden_dir_dentry->d_inode,
33 + hidden_new_dentry, NULL);
34 unlock_dir(hidden_dir_dentry);
39 vfs_link(hidden_old_dentry,
40 hidden_dir_dentry->d_inode,
42 + hidden_new_dentry, NULL);
43 unlock_dir(hidden_dir_dentry);
47 if (!(err = is_robranch_super(dentry->d_sb, bstart))) {
49 vfs_unlink(hidden_dir_dentry->d_inode,
51 + whiteout_dentry, NULL);
53 DPUT(whiteout_dentry);
58 vfs_symlink(hidden_dir_dentry->d_inode,
59 - hidden_dentry, symname, mode);
60 + hidden_dentry, symname, mode, NULL);
62 unlock_dir(hidden_dir_dentry);
65 if (!(err = is_robranch_super(dentry->d_sb, bstart))) {
67 vfs_unlink(hidden_parent_dentry->d_inode,
69 + whiteout_dentry, NULL);
71 DPUT(whiteout_dentry);
74 if (!(err = is_robranch_super(dentry->d_sb, bindex))) {
76 vfs_mkdir(hidden_parent_dentry->d_inode,
77 - hidden_dentry, mode);
78 + hidden_dentry, mode, NULL);
80 unlock_dir(hidden_parent_dentry);
83 //found a.wh.foo entry, remove it then do vfs_mkdir
84 if (!(err = is_robranch_super(dentry->d_sb, bstart)))
85 err = vfs_unlink(hidden_parent_dentry->d_inode,
87 + whiteout_dentry, NULL);
88 DPUT(whiteout_dentry);
90 unlock_dir(hidden_parent_dentry);
93 if (!(err = is_robranch_super(dentry->d_sb, bindex))) {
94 err = vfs_mknod(hidden_parent_dentry->d_inode,
95 - hidden_dentry, mode, dev);
96 + hidden_dentry, mode, dev, NULL);
98 /* XXX this could potentially return a negative hidden_dentry! */
99 if (err || !hidden_dentry->d_inode) {
100 --- ./copyup.c.orig 2006-09-16 22:03:39.000000000 -0400
101 +++ ./copyup.c 2006-10-08 16:38:54.000000000 -0400
102 @@ -216,10 +216,10 @@
103 current->fsgid = new_hidden_parent_dentry->d_inode->i_gid;
104 if (S_ISDIR(old_hidden_dentry->d_inode->i_mode)) {
105 err = vfs_mkdir(new_hidden_parent_dentry->d_inode,
106 - new_hidden_dentry, S_IRWXU);
107 + new_hidden_dentry, S_IRWXU, NULL);
108 } else if (S_ISLNK(old_hidden_dentry->d_inode->i_mode)) {
109 err = vfs_symlink(new_hidden_parent_dentry->d_inode,
110 - new_hidden_dentry, symbuf, S_IRWXU);
111 + new_hidden_dentry, symbuf, S_IRWXU, NULL);
112 } else if (S_ISBLK(old_hidden_dentry->d_inode->i_mode)
113 || S_ISCHR(old_hidden_dentry->d_inode->i_mode)
114 || S_ISFIFO(old_hidden_dentry->d_inode->i_mode)
116 err = vfs_mknod(new_hidden_parent_dentry->d_inode,
118 old_hidden_dentry->d_inode->i_mode,
119 - old_hidden_dentry->d_inode->i_rdev);
120 + old_hidden_dentry->d_inode->i_rdev, NULL);
121 } else if (S_ISREG(old_hidden_dentry->d_inode->i_mode)) {
122 err = vfs_create(new_hidden_parent_dentry->d_inode,
123 new_hidden_dentry, S_IRWXU, NULL);
125 * or something else happened so let's unlink; we don't
126 * really care about the return value of vfs_unlink */
127 vfs_unlink(new_hidden_parent_dentry->d_inode,
128 - new_hidden_dentry);
129 + new_hidden_dentry, NULL);
134 current->fsuid = hidden_parent_dentry->d_inode->i_uid;
135 current->fsgid = hidden_parent_dentry->d_inode->i_gid;
136 err = vfs_mkdir(hidden_parent_dentry->d_inode,
137 - hidden_dentry, S_IRWXUGO);
138 + hidden_dentry, S_IRWXUGO, NULL);
139 current->fsuid = saved_uid;
140 current->fsgid = saved_gid;
142 --- ./dirhelper.c.orig 2006-10-08 16:42:20.000000000 -0400
143 +++ ./dirhelper.c 2006-10-08 16:44:22.000000000 -0400
147 if (hidden_dentry->d_inode)
148 - err = vfs_unlink(hidden_dir, hidden_dentry);
149 + err = vfs_unlink(hidden_dir, hidden_dentry, NULL);
153 --- ./rename.c.orig 2006-10-08 16:48:20.000000000 -0400
154 +++ ./rename.c 2006-10-08 16:48:50.000000000 -0400
156 if (!(err = is_robranch_super(old_dentry->d_sb, bindex))) {
158 vfs_unlink(hidden_wh_dir_dentry->d_inode,
160 + hidden_wh_dentry, NULL);
162 DPUT(hidden_wh_dentry);
163 unlock_dir(hidden_wh_dir_dentry);
165 if (!(err = is_robranch_super(old_dir->i_sb, bindex))) {
167 vfs_unlink(unlink_dir_dentry->d_inode,
169 + unlink_dentry, NULL);
172 fist_copy_attr_times(new_dentry->d_parent->d_inode,
173 --- ./unlink.c.orig 2006-10-08 16:50:25.000000000 -0400
174 +++ ./unlink.c 2006-10-08 16:50:58.000000000 -0400
177 if (!(err = is_robranch_super(dentry->d_sb, bindex)))
178 err = vfs_unlink(hidden_dir_dentry->d_inode,
180 + hidden_dentry, NULL);
182 fist_copy_attr_times(dir, hidden_dir_dentry->d_inode);
183 unlock_dir(hidden_dir_dentry);
185 /* avoid destroying the hidden inode if the file is in use */
187 if (!(err = is_robranch_super(dentry->d_sb, bindex)))
188 - err = vfs_unlink(hidden_dir_dentry->d_inode, hidden_dentry);
189 + err = vfs_unlink(hidden_dir_dentry->d_inode, hidden_dentry, NULL);
191 fist_copy_attr_times(dir, hidden_dir_dentry->d_inode);
192 unlock_dir(hidden_dir_dentry);
194 /* avoid destroying the hidden inode if the file is in use */
196 if (!(err = is_robranch(dentry))) {
197 - err = vfs_rmdir(hidden_dir_dentry->d_inode, hidden_dentry);
198 + err = vfs_rmdir(hidden_dir_dentry->d_inode, hidden_dentry, NULL);
202 --- ./commonfops.c.orig 2006-10-08 16:52:56.000000000 -0400
203 +++ ./commonfops.c 2006-10-08 16:53:47.000000000 -0400
205 /* bring it to the same state as an unlinked file */
206 hidden_dentry = dtohd_index(dentry, dbstart(dentry));
207 hidden_dir_dentry = lock_parent(hidden_dentry);
208 - err = vfs_unlink(hidden_dir_dentry->d_inode, hidden_dentry);
209 + err = vfs_unlink(hidden_dir_dentry->d_inode, hidden_dentry, NULL);
210 unlock_dir(hidden_dir_dentry);