]> git.pld-linux.org Git - packages/kernel.git/blame - kernel-aufs-support.patch
- fix patch
[packages/kernel.git] / kernel-aufs-support.patch
CommitLineData
8a3d32a2
JR
1Index: linux-2.6.23/fs/namei.c
2===================================================================
3RCS file: /ext1/sysadm/transparent/repository/linux-2.6.23/fs/namei.c,v
4retrieving revision 1.2
5retrieving revision 1.4
6diff -u -p -r1.2 -r1.4
7--- linux-2.6.23/fs/namei.c 29 Oct 2007 07:01:03 -0000 1.2
8+++ linux-2.6.23/fs/namei.c 29 Oct 2007 07:05:53 -0000 1.4
2ce9721f 9@@ -2827,3 +2827,4 @@ EXPORT_SYMBOL(vfs_symlink);
8a3d32a2
JR
10 EXPORT_SYMBOL(vfs_unlink);
11 EXPORT_SYMBOL(dentry_unhash);
12 EXPORT_SYMBOL(generic_readlink);
13+EXPORT_SYMBOL(deny_write_access);
14Index: linux-2.6.27/fs/ecryptfs/inode.c
15===================================================================
16retrieving revision 1.1
17retrieving revision 1.2
18diff -u -p -r1.1 -r1.2
19--- linux-2.6.27/fs/ecryptfs/inode.c 19 Dec 2008 03:05:27 -0000 1.1
20+++ linux-2.6.27/fs/ecryptfs/inode.c 19 Dec 2008 19:52:26 -0000 1.2
21@@ -430,9 +430,6 @@ out_lock:
22 unlock_dir(lower_dir_dentry);
23 dput(lower_new_dentry);
24 dput(lower_old_dentry);
25- d_drop(lower_old_dentry);
26- d_drop(new_dentry);
27- d_drop(old_dentry);
28 return rc;
29 }
30
31@@ -444,7 +441,10 @@ static int ecryptfs_unlink(struct inode
32 struct dentry *lower_dir_dentry;
33
34 lower_dir_dentry = lock_parent(lower_dentry);
35+ dget(lower_dentry);
36+ atomic_inc(&lower_dentry->d_inode->i_count);
37 rc = vfs_unlink(lower_dir_inode, lower_dentry);
38+ dput(lower_dentry);
39 if (rc) {
40 printk(KERN_ERR "Error in vfs_unlink; rc = [%d]\n", rc);
41 goto out_unlock;
42@@ -455,6 +455,7 @@ static int ecryptfs_unlink(struct inode
43 dentry->d_inode->i_ctime = dir->i_ctime;
44 d_drop(dentry);
45 out_unlock:
46+ iput(lower_dentry->d_inode);
47 unlock_dir(lower_dir_dentry);
48 return rc;
49 }
50@@ -538,8 +539,12 @@ static int ecryptfs_rmdir(struct inode *
51 fsstack_copy_attr_times(dir, lower_dir_dentry->d_inode);
52 dir->i_nlink = lower_dir_dentry->d_inode->i_nlink;
53 unlock_dir(lower_dir_dentry);
54- if (!rc)
55+ if (!rc) {
56+ struct inode *inode = dentry->d_inode;
57+ inode->i_nlink = ecryptfs_inode_to_lower(inode)->i_nlink;
58+ inode->i_ctime = dir->i_ctime;
59 d_drop(dentry);
60+ }
61 dput(dentry);
62 return rc;
63 }
64Index: linux-2.6.19/fs/super.c
65===================================================================
66RCS file: /proj/linux-2.6/repository/linux-2.6.19/fs/super.c,v
67retrieving revision 1.1
68retrieving revision 1.2
69diff -u -p -r1.1 -r1.2
70--- linux-2.6.19/fs/super.c 20 Feb 2008 05:23:09 -0000 1.1
71+++ linux-2.6.19/fs/super.c 20 Feb 2008 05:24:15 -0000 1.2
2ce9721f 72@@ -250,6 +250,7 @@ int sync_filesystem(struct super_block *sb)
8a3d32a2
JR
73 __fsync_super(sb);
74 return sync_blockdev(sb->s_bdev);
75 }
2ce9721f 76+EXPORT_SYMBOL(sync_filesystem);
8a3d32a2
JR
77
78 /**
79 * generic_shutdown_super - common helper for ->kill_sb()
80Index: linux-2.6.22/fs/namei.c
81===================================================================
82RCS file: /ext1/sysadm/transparent/repository/linux-2.6.22/fs/namei.c,v
83retrieving revision 1.1
84retrieving revision 1.3
85diff -u -p -r1.1 -r1.3
86--- linux-2.6.22/fs/namei.c 12 Jul 2007 02:55:19 -0000 1.1
87+++ linux-2.6.22/fs/namei.c 12 Jul 2007 03:00:50 -0000 1.3
88@@ -1280,7 +1280,7 @@ out:
89 return err;
90 }
91
92-static struct dentry *__lookup_hash(struct qstr *name,
93+struct dentry *__lookup_hash(struct qstr *name,
94 struct dentry *base, struct nameidata *nd)
95 {
96 struct dentry *dentry;
97@@ -2766,6 +2766,7 @@ EXPORT_SYMBOL(follow_up);
98 EXPORT_SYMBOL(get_write_access); /* binfmt_aout */
99 EXPORT_SYMBOL(getname);
100 EXPORT_SYMBOL(lock_rename);
101+EXPORT_SYMBOL(__lookup_hash);
102 EXPORT_SYMBOL(lookup_one_len);
103 EXPORT_SYMBOL(page_follow_link_light);
104 EXPORT_SYMBOL(page_put_link);
105Index: linux-2.6.22/include/linux/namei.h
106===================================================================
107RCS file: /ext1/sysadm/transparent/repository/linux-2.6.22/include/linux/namei.h,v
108retrieving revision 1.1
109retrieving revision 1.2
110diff -u -p -r1.1 -r1.2
111--- linux-2.6.22/include/linux/namei.h 12 Jul 2007 02:55:19 -0000 1.1
112+++ linux-2.6.22/include/linux/namei.h 12 Jul 2007 02:55:20 -0000 1.2
113@@ -81,6 +81,7 @@ extern struct file *lookup_instantiate_f
114 extern struct file *nameidata_to_filp(struct nameidata *nd, int flags);
115 extern void release_open_intent(struct nameidata *);
116
117+struct dentry * __lookup_hash(struct qstr *name, struct dentry * base, struct nameidata *nd);
118 extern struct dentry *lookup_one_len(const char *, struct dentry *, int);
119 extern struct dentry *lookup_one_len_kern(const char *, struct dentry *, int);
120
121Index: fs/file_table.c
122===================================================================
123RCS file: /ext1/sysadm/transparent/repository/linux-2.6.23-rc6/fs/file_table.c,v
124retrieving revision 1.1
125retrieving revision 1.2
126diff -u -p -r1.1 -r1.2
127--- linux/fs/file_table.c 12 Sep 2007 16:24:04 -0000 1.1
128+++ linux/fs/file_table.c 12 Sep 2007 16:24:38 -0000 1.2
129@@ -243,6 +243,7 @@ void put_filp(struct file *file)
130 file_free(file);
131 }
132 }
133+EXPORT_SYMBOL(put_filp);
134
135 void file_move(struct file *file, struct list_head *list)
136 {
2ce9721f 137--- linux-2.6.31/fs/aufs/super.c~ 2009-09-13 22:33:38.000000000 +0200
138+++ linux-2.6.31/fs/aufs/super.c 2009-09-13 22:42:50.399275953 +0200
139@@ -390,7 +390,7 @@ static void au_fsync_br(struct super_blo
140 lockdep_off();
141 down_write(&h_sb->s_umount);
142 shrink_dcache_sb(h_sb);
143- fsync_super(h_sb);
144+ sync_filesystem(h_sb);
145 up_write(&h_sb->s_umount);
146 lockdep_on();
147 }
This page took 0.049858 seconds and 4 git commands to generate.