History

Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs

Pull quota and ext3 fixes from Jan Kara. * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: fs, jbd: use a more generic hash function quota: Properly return errors from dquot_writeback_dquots() ext3: Don't check quota format when there are no quota files

Linus Torvalds committed 12 years ago

Commit e2488ab2 parents 8945337 3c9cafe3 files · +3 −13Browse files

Unified · Split

3 files
  1. fs/ext3/super.c +0 −7
  2. fs/jbd/revoke.c +2 −5
  3. fs/quota/dquot.c +1 −1
fs/ext3/super.c+0−7
@@ -1354,13 +1354,6 @@ set_qf_format: · 1353 unmodified lines
1354 "not specified.");1354 "not specified.");
1355 return 0;1355 return 0;
1356 }1356 }
1357 } else {
1358 if (sbi->s_jquota_fmt) {
1359 ext3_msg(sb, KERN_ERR, "error: journaled quota format "
1360 "specified with no journaling "
1361 "enabled.");
1362 return 0;
1363 }
1364 }1357 }
1365#endif1358#endif
1366 return 1;1359 return 1;
fs/jbd/revoke.c+2−5
@@ -93,6 +93,7 @@ · 92 unmodified lines
93#include <linux/bio.h>93#include <linux/bio.h>
94#endif94#endif
95#include <linux/log2.h>95#include <linux/log2.h>
96#include <linux/hash.h>
96 97
97static struct kmem_cache *revoke_record_cache;98static struct kmem_cache *revoke_record_cache;
98static struct kmem_cache *revoke_table_cache;99static struct kmem_cache *revoke_table_cache;
@@ -129,15 +130,11 @@ static void flush_descriptor(journal_t *, struct journal_head *, int, int); · 30 unmodified lines
129 130
130/* Utility functions to maintain the revoke table */131/* Utility functions to maintain the revoke table */
131 132
132/* Borrowed from buffer.c: this is a tried and tested block hash function */
133static inline int hash(journal_t *journal, unsigned int block)133static inline int hash(journal_t *journal, unsigned int block)
134{134{
135 struct jbd_revoke_table_s *table = journal->j_revoke;135 struct jbd_revoke_table_s *table = journal->j_revoke;
136 int hash_shift = table->hash_shift;
137 136
138 return ((block << (hash_shift - 6)) ^137 return hash_32(block, table->hash_shift);
139 (block >> 13) ^
140 (block << (hash_shift - 12))) & (table->hash_size - 1);
141}138}
142 139
143static int insert_revoke_hash(journal_t *journal, unsigned int blocknr,140static int insert_revoke_hash(journal_t *journal, unsigned int blocknr,
fs/quota/dquot.c+1−1
@@ -634,7 +634,7 @@ int dquot_writeback_dquots(struct super_block *sb, int type) · 633 unmodified lines
634 dqstats_inc(DQST_LOOKUPS);634 dqstats_inc(DQST_LOOKUPS);
635 err = sb->dq_op->write_dquot(dquot);635 err = sb->dq_op->write_dquot(dquot);
636 if (!ret && err)636 if (!ret && err)
637 err = ret;637 ret = err;
638 dqput(dquot);638 dqput(dquot);
639 spin_lock(&dq_list_lock);639 spin_lock(&dq_list_lock);
640 }640 }