1 temp patch until we find workaround. WIll not affect Lustre functionality
3 Index: linux-2.6.27.21-0.1/fs/ext4/ioctl.c
4 ===================================================================
5 --- linux-2.6.27.21-0.1.orig/fs/ext4/ioctl.c
6 +++ linux-2.6.27.21-0.1/fs/ext4/ioctl.c
7 @@ -200,9 +200,9 @@ long ext4_ioctl(struct file *filp, unsig
8 if (get_user(flags, (int __user *) arg))
11 - err = mnt_want_write(filp->f_path.mnt);
12 +/* err = mnt_want_write(filp->f_path.mnt);
17 if (!S_ISDIR(inode->i_mode))
18 flags &= ~EXT4_DIRSYNC_FL;
19 @@ -281,7 +281,7 @@ flags_err:
20 err = ext4_ext_migrate(inode);
22 mutex_unlock(&inode->i_mutex);
23 - mnt_drop_write(filp->f_path.mnt);
24 +// mnt_drop_write(filp->f_path.mnt);
27 case EXT4_IOC_GETVERSION:
28 @@ -297,9 +297,9 @@ flags_out:
29 if (!is_owner_or_cap(inode))
32 - err = mnt_want_write(filp->f_path.mnt);
33 +/* err = mnt_want_write(filp->f_path.mnt);
37 if (get_user(generation, (int __user *) arg)) {
40 @@ -318,7 +318,7 @@ flags_out:
42 ext4_journal_stop(handle);
44 - mnt_drop_write(filp->f_path.mnt);
45 +// mnt_drop_write(filp->f_path.mnt);
48 #ifdef CONFIG_JBD2_DEBUG
49 @@ -356,9 +356,9 @@ setversion_out:
50 if (get_user(n_blocks_count, (__u32 __user *)arg))
53 - err = mnt_want_write(filp->f_path.mnt);
54 +/* err = mnt_want_write(filp->f_path.mnt);
59 err = ext4_group_extend(sb, EXT4_SB(sb)->s_es, n_blocks_count);
60 jbd2_journal_lock_updates(EXT4_SB(sb)->s_journal);
61 @@ -366,7 +366,7 @@ setversion_out:
62 jbd2_journal_unlock_updates(EXT4_SB(sb)->s_journal);
65 - mnt_drop_write(filp->f_path.mnt);
66 +// mnt_drop_write(filp->f_path.mnt);
70 @@ -382,9 +382,9 @@ setversion_out:
74 - err = mnt_want_write(filp->f_path.mnt);
75 +/* err = mnt_want_write(filp->f_path.mnt);
80 err = ext4_group_add(sb, &input);
81 jbd2_journal_lock_updates(EXT4_SB(sb)->s_journal);
82 @@ -392,7 +392,7 @@ setversion_out:
83 jbd2_journal_unlock_updates(EXT4_SB(sb)->s_journal);
86 - mnt_drop_write(filp->f_path.mnt);
87 +// mnt_drop_write(filp->f_path.mnt);
91 @@ -403,9 +403,9 @@ setversion_out:
92 if (!is_owner_or_cap(inode))
95 - err = mnt_want_write(filp->f_path.mnt);
96 +/* err = mnt_want_write(filp->f_path.mnt);
101 * inode_mutex prevent write and truncate on the file.
102 * Read still goes through. We take i_data_sem in
103 @@ -415,7 +415,7 @@ setversion_out:
104 mutex_lock(&(inode->i_mutex));
105 err = ext4_ext_migrate(inode);
106 mutex_unlock(&(inode->i_mutex));
107 - mnt_drop_write(filp->f_path.mnt);
108 +// mnt_drop_write(filp->f_path.mnt);