[kernel] revert 15922 - add back 2.6.29 kernel support
[openwrt.git] / target / linux / generic-2.6 / patches-2.6.29 / 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;