quotaファイルに IMMUTABLE属性をつけさせない

--- linux-2.6.33.2/fs/quota/dquot.c.orig        Mon May 10 16:34:46 2010
+++ linux-2.6.33.2/fs/quota/dquot.c     Mon May 10 16:35:22 2010
@@ -1948,8 +1948,7 @@
                        if (!sb_has_quota_loaded(sb, cnt)) {
                                mutex_lock_nested(&toputinode[cnt]->i_mutex,
                                                  I_MUTEX_QUOTA);
-                               toputinode[cnt]->i_flags &= ~(S_IMMUTABLE |
-                                 S_NOATIME | S_NOQUOTA);
+                               toputinode[cnt]->i_flags &= ~(S_NOATIME | S_NOQUOTA);
                                truncate_inode_pages(&toputinode[cnt]->i_data,
                                                     0);
                                mutex_unlock(&toputinode[cnt]->i_mutex);
@@ -2041,9 +2040,8 @@
                 * special IO operations which ignore the immutable bit. */
                down_write(&dqopt->dqptr_sem);
                mutex_lock_nested(&inode->i_mutex, I_MUTEX_QUOTA);
-               oldflags = inode->i_flags & (S_NOATIME | S_IMMUTABLE |
-                                            S_NOQUOTA);
-               inode->i_flags |= S_NOQUOTA | S_NOATIME | S_IMMUTABLE;
+               oldflags = inode->i_flags & (S_NOATIME | S_NOQUOTA);
+               inode->i_flags |= S_NOQUOTA | S_NOATIME;
                mutex_unlock(&inode->i_mutex);
                up_write(&dqopt->dqptr_sem);
                sb->dq_op->drop(inode);
@@ -2086,7 +2084,7 @@
                mutex_lock_nested(&inode->i_mutex, I_MUTEX_QUOTA);
                /* Set the flags back (in the case of accidental quotaon()
                 * on a wrong file we don't want to mess up the flags) */
-               inode->i_flags &= ~(S_NOATIME | S_NOQUOTA | S_IMMUTABLE);
+               inode->i_flags &= ~(S_NOATIME | S_NOQUOTA);
                inode->i_flags |= oldflags;
                mutex_unlock(&inode->i_mutex);
                up_write(&dqopt->dqptr_sem);