Root/target/linux/generic/patches-2.6.31/211-mini_fo_2.6.25_dentry_open_war.patch

1--- a/fs/mini_fo/meta.c
2+++ b/fs/mini_fo/meta.c
3@@ -442,6 +442,11 @@ int meta_write_d_entry(dentry_t *dentry,
4                S_IRUSR | S_IWUSR);
5 #endif
6     }
7+
8+ /* $%& err, is this correct? */
9+ meta_mnt = stopd(dentry->d_inode->i_sb)->hidden_mnt2;
10+ mntget(meta_mnt);
11+
12         /* open META-file for writing */
13         meta_file = dentry_open(meta_dentry, meta_mnt, 0x1);
14         if(!meta_file || IS_ERR(meta_file)) {
15@@ -535,6 +540,11 @@ int meta_write_r_entry(dentry_t *dentry,
16                meta_dentry, S_IRUSR | S_IWUSR);
17 #endif
18     }
19+
20+ /* $%& err, is this correct? */
21+ meta_mnt = stopd(dentry->d_inode->i_sb)->hidden_mnt2;
22+ mntget(meta_mnt);
23+
24         /* open META-file for writing */
25         meta_file = dentry_open(meta_dentry, meta_mnt, 0x1);
26         if(!meta_file || IS_ERR(meta_file)) {
27@@ -671,14 +681,16 @@ int meta_sync_d_list(dentry_t *dentry, i
28         }
29     }
30 
31+ /* $%& err, is this correct? */
32+ meta_mnt = stopd(dentry->d_inode->i_sb)->hidden_mnt2;
33+ mntget(meta_mnt);
34+
35         /* open META-file for writing */
36         meta_file = dentry_open(meta_dentry, meta_mnt, 0x1);
37         if(!meta_file || IS_ERR(meta_file)) {
38                 printk(KERN_CRIT "mini_fo: meta_sync_d_list: \
39                                   ERROR opening meta file.\n");
40- /* we don't mntget so we dont't mntput (for now)
41- * mntput(meta_mnt);
42- */
43+ mntput(meta_mnt);
44         dput(meta_dentry);
45         err = -1;
46                 goto out;
47@@ -811,14 +823,16 @@ int meta_sync_r_list(dentry_t *dentry, i
48         }
49     }
50 
51+ /* $%& err, is this correct? */
52+ meta_mnt = stopd(dentry->d_inode->i_sb)->hidden_mnt2;
53+ mntget(meta_mnt);
54+
55         /* open META-file for writing */
56         meta_file = dentry_open(meta_dentry, meta_mnt, 0x1);
57         if(!meta_file || IS_ERR(meta_file)) {
58                 printk(KERN_CRIT "mini_fo: meta_sync_r_list: \
59                                   ERROR opening meta file.\n");
60- /* we don't mntget so we dont't mntput (for now)
61- * mntput(meta_mnt);
62- */
63+ mntput(meta_mnt);
64         dput(meta_dentry);
65         err = -1;
66                 goto out;
67

Archive Download this file



interactive