[generic] fix unbalanced mutex_lock/mutex_unlock in mini_fo getxattr op. Thanks Danie...
[openwrt/svn-archive/archive.git] / target / linux / generic / patches-2.6.35 / 217-mini_fo_2.6.35.patch
1 --- a/fs/mini_fo/file.c
2 +++ b/fs/mini_fo/file.c
3 @@ -599,7 +599,7 @@ mini_fo_release(inode_t *inode, file_t *
4 }
5
6 STATIC int
7 -mini_fo_fsync(file_t *file, dentry_t *dentry, int datasync)
8 +mini_fo_fsync(file_t *file, int datasync)
9 {
10 int err1 = 0;
11 int err2 = 0;
12 @@ -609,14 +609,14 @@ mini_fo_fsync(file_t *file, dentry_t *de
13 check_mini_fo_file(file);
14
15 if ((hidden_file = ftohf(file)) != NULL) {
16 - hidden_dentry = dtohd(dentry);
17 + hidden_dentry = dtohd(file->f_path.dentry);
18 if (hidden_file->f_op && hidden_file->f_op->fsync) {
19 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
20 mutex_lock(&hidden_dentry->d_inode->i_mutex);
21 #else
22 down(&hidden_dentry->d_inode->i_sem);
23 #endif
24 - err1 = hidden_file->f_op->fsync(hidden_file, hidden_dentry, datasync);
25 + err1 = hidden_file->f_op->fsync(hidden_file, datasync);
26 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
27 mutex_unlock(&hidden_dentry->d_inode->i_mutex);
28 #else
29 @@ -626,14 +626,14 @@ mini_fo_fsync(file_t *file, dentry_t *de
30 }
31
32 if ((hidden_file = ftohf2(file)) != NULL) {
33 - hidden_dentry = dtohd2(dentry);
34 + hidden_dentry = dtohd2(file->f_path.dentry);
35 if (hidden_file->f_op && hidden_file->f_op->fsync) {
36 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
37 mutex_lock(&hidden_dentry->d_inode->i_mutex);
38 #else
39 down(&hidden_dentry->d_inode->i_sem);
40 #endif
41 - err2 = hidden_file->f_op->fsync(hidden_file, hidden_dentry, datasync);
42 + err2 = hidden_file->f_op->fsync(hidden_file, datasync);
43 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
44 mutex_unlock(&hidden_dentry->d_inode->i_mutex);
45 #else