aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2010-02-16 03:44:53 -0500
committerJan Kara <jack@suse.cz>2010-03-04 18:20:24 -0500
commita56fca23f67282467c08e75c40081da2345dfdbf (patch)
tree73d50c7b2be8c1435fbaa915fa4bf882824a51a7
parent5fb324ad24febe57a8a2e62903dcb7bad546ea71 (diff)
quota: remove invalid optimization from quota_sync_all
Checking the "VFS" quota enabled and dirty bits from generic code means this code will never get called for other implementations, e.g. XFS and GFS2. Grabbing the reference on the superblock really isn't much overhead for a global Q_SYNC call, so just drop this optimization. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jan Kara <jack@suse.cz>
-rw-r--r--fs/quota/quota.c15
1 files changed, 0 insertions, 15 deletions
diff --git a/fs/quota/quota.c b/fs/quota/quota.c
index 0593b229656c..a43bb2c3ceaf 100644
--- a/fs/quota/quota.c
+++ b/fs/quota/quota.c
@@ -51,7 +51,6 @@ static int check_quotactl_permission(struct super_block *sb, int type, int cmd,
51static int quota_sync_all(int type) 51static int quota_sync_all(int type)
52{ 52{
53 struct super_block *sb; 53 struct super_block *sb;
54 int cnt;
55 int ret; 54 int ret;
56 55
57 if (type >= MAXQUOTAS) 56 if (type >= MAXQUOTAS)
@@ -66,20 +65,6 @@ restart:
66 if (!sb->s_qcop || !sb->s_qcop->quota_sync) 65 if (!sb->s_qcop || !sb->s_qcop->quota_sync)
67 continue; 66 continue;
68 67
69 /* This test just improves performance so it needn't be
70 * reliable... */
71 for (cnt = 0; cnt < MAXQUOTAS; cnt++) {
72 if (type != -1 && type != cnt)
73 continue;
74 if (!sb_has_quota_active(sb, cnt))
75 continue;
76 if (!info_dirty(&sb_dqopt(sb)->info[cnt]) &&
77 list_empty(&sb_dqopt(sb)->info[cnt].dqi_dirty_list))
78 continue;
79 break;
80 }
81 if (cnt == MAXQUOTAS)
82 continue;
83 sb->s_count++; 68 sb->s_count++;
84 spin_unlock(&sb_lock); 69 spin_unlock(&sb_lock);
85 down_read(&sb->s_umount); 70 down_read(&sb->s_umount);