From d8cd7c8d8d533f298cda5bbed97fd3e9d631d8cb Mon Sep 17 00:00:00 2001
From: johann <johann>
Date: Fri, 25 May 2007 14:38:07 +0000
Subject: [PATCH] Branch b1_6

Add the QUOTA mount option on the fly for kernel newer than 2.6.12.
Add a call to fsfilt_setup() in filter_common_setup().

b=12538
i=alex
i=adilger
---
 lustre/ChangeLog          | 6 ++++++
 lustre/lvfs/fsfilt_ext3.c | 3 +++
 lustre/obdfilter/filter.c | 2 ++
 3 files changed, 11 insertions(+)

diff --git a/lustre/ChangeLog b/lustre/ChangeLog
index 1cd0b30455..b04a7fa516 100644
--- a/lustre/ChangeLog
+++ b/lustre/ChangeLog
@@ -14,6 +14,12 @@ tbd         Cluster File Systems, Inc. <info@clusterfs.com>
        * Note that reiserfs quotas are disabled on SLES 10 in this kernel.
        * bug fixes
 
+Severity   : normal
+Frequency  : SLES10 only
+Bugzilla   : 12538
+Description: sanity-quota.sh quotacheck failed: rc = -22
+Details    : Quotas cannot be enabled on SLES10.
+
 Severity   : normal
 Frequency  : sometimes when underlying device returns I/O errors
 Bugzilla   : 11743
diff --git a/lustre/lvfs/fsfilt_ext3.c b/lustre/lvfs/fsfilt_ext3.c
index 9634f4c32f..f00508925e 100644
--- a/lustre/lvfs/fsfilt_ext3.c
+++ b/lustre/lvfs/fsfilt_ext3.c
@@ -1350,6 +1350,9 @@ static int fsfilt_ext3_setup(struct super_block *sb)
 #endif
         if (!EXT3_HAS_COMPAT_FEATURE(sb, EXT3_FEATURE_COMPAT_DIR_INDEX))
                 CWARN("filesystem doesn't have dir_index feature enabled\n");
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,13)) && HAVE_QUOTA_SUPPORT
+        set_opt(EXT3_SB(sb)->s_mount_opt, QUOTA);
+#endif
         return 0;
 }
 
diff --git a/lustre/obdfilter/filter.c b/lustre/obdfilter/filter.c
index c643b1be33..ddbf886555 100644
--- a/lustre/obdfilter/filter.c
+++ b/lustre/obdfilter/filter.c
@@ -1677,6 +1677,8 @@ int filter_common_setup(struct obd_device *obd, obd_count len, void *buf,
         filter->fo_fstype = mnt->mnt_sb->s_type->name;
         CDEBUG(D_SUPER, "%s: mnt = %p\n", filter->fo_fstype, mnt);
 
+        fsfilt_setup(obd, obd->u.obt.obt_sb);
+
         OBD_SET_CTXT_MAGIC(&obd->obd_lvfs_ctxt);
         obd->obd_lvfs_ctxt.pwdmnt = mnt;
         obd->obd_lvfs_ctxt.pwd = mnt->mnt_root;
-- 
GitLab