--- 4fdb0eb88184866bf45c92734daf8845844a9525 +++ 253498739978f16937d0bce16306f378c8f33a3e @@ -229,8 +229,6 @@ static struct hlist_head *dquot_hash; struct dqstats dqstats; EXPORT_SYMBOL(dqstats); -static qsize_t inode_get_rsv_space(struct inode *inode); - static inline unsigned int hashfn(const struct super_block *sb, unsigned int id, int type) { @@ -822,14 +820,11 @@ static int dqinit_needed(struct inode *i static void add_dquot_ref(struct super_block *sb, int type) { struct inode *inode, *old_inode = NULL; - int reserved = 0; spin_lock(&inode_lock); list_for_each_entry(inode, &sb->s_inodes, i_sb_list) { if (inode->i_state & (I_FREEING|I_CLEAR|I_WILL_FREE|I_NEW)) continue; - if (unlikely(inode_get_rsv_space(inode) > 0)) - reserved = 1; if (!atomic_read(&inode->i_writecount)) continue; if (!dqinit_needed(inode, type)) @@ -850,12 +845,6 @@ static void add_dquot_ref(struct super_b } spin_unlock(&inode_lock); iput(old_inode); - - if (reserved) { - printk(KERN_WARNING "VFS (%s): Writes happened before quota" - " was turned on thus quota information is probably " - "inconsistent. Please run quotacheck(8).\n", sb->s_id); - } } /* @@ -969,12 +958,10 @@ static inline void dquot_resv_space(stru /* * Claim reserved quota space */ -static void dquot_claim_reserved_space(struct dquot *dquot, qsize_t number) +static void dquot_claim_reserved_space(struct dquot *dquot, + qsize_t number) { - if (dquot->dq_dqb.dqb_rsvspace < number) { - WARN_ON_ONCE(1); - number = dquot->dq_dqb.dqb_rsvspace; - } + WARN_ON(dquot->dq_dqb.dqb_rsvspace < number); dquot->dq_dqb.dqb_curspace += number; dquot->dq_dqb.dqb_rsvspace -= number; } @@ -982,12 +969,7 @@ static void dquot_claim_reserved_space(s static inline void dquot_free_reserved_space(struct dquot *dquot, qsize_t number) { - if (dquot->dq_dqb.dqb_rsvspace >= number) - dquot->dq_dqb.dqb_rsvspace -= number; - else { - WARN_ON_ONCE(1); - dquot->dq_dqb.dqb_rsvspace = 0; - } + dquot->dq_dqb.dqb_rsvspace -= number; } static void dquot_decr_inodes(struct dquot *dquot, qsize_t number) @@ -1305,7 +1287,6 @@ static int info_bdq_free(struct dquot *d return QUOTA_NL_BHARDBELOW; return QUOTA_NL_NOWARN; } - /* * Initialize quota pointers in inode * We do things in a bit complicated way but by that we avoid calling @@ -1317,7 +1298,6 @@ int dquot_initialize(struct inode *inode int cnt, ret = 0; struct dquot *got[MAXQUOTAS] = { NULL, NULL }; struct super_block *sb = inode->i_sb; - qsize_t rsv; /* First test before acquiring mutex - solves deadlocks when we * re-enter the quota code and are already holding the mutex */ @@ -1352,13 +1332,6 @@ int dquot_initialize(struct inode *inode if (!inode->i_dquot[cnt]) { inode->i_dquot[cnt] = got[cnt]; got[cnt] = NULL; - /* - * Make quota reservation system happy if someone - * did a write before quota was turned on - */ - rsv = inode_get_rsv_space(inode); - if (unlikely(rsv)) - dquot_resv_space(inode->i_dquot[cnt], rsv); } } out_err: @@ -1426,30 +1399,28 @@ static qsize_t *inode_reserved_space(str return inode->i_sb->dq_op->get_reserved_space(inode); } -void inode_add_rsv_space(struct inode *inode, qsize_t number) +static void inode_add_rsv_space(struct inode *inode, qsize_t number) { spin_lock(&inode->i_lock); *inode_reserved_space(inode) += number; spin_unlock(&inode->i_lock); } -EXPORT_SYMBOL(inode_add_rsv_space); -void inode_claim_rsv_space(struct inode *inode, qsize_t number) + +static void inode_claim_rsv_space(struct inode *inode, qsize_t number) { spin_lock(&inode->i_lock); *inode_reserved_space(inode) -= number; __inode_add_bytes(inode, number); spin_unlock(&inode->i_lock); } -EXPORT_SYMBOL(inode_claim_rsv_space); -void inode_sub_rsv_space(struct inode *inode, qsize_t number) +static void inode_sub_rsv_space(struct inode *inode, qsize_t number) { spin_lock(&inode->i_lock); *inode_reserved_space(inode) -= number; spin_unlock(&inode->i_lock); } -EXPORT_SYMBOL(inode_sub_rsv_space); static qsize_t inode_get_rsv_space(struct inode *inode) { @@ -2389,34 +2360,34 @@ static int do_set_dqblk(struct dquot *dq if (di->dqb_valid & QIF_SPACE) { dm->dqb_curspace = di->dqb_curspace - dm->dqb_rsvspace; check_blim = 1; - set_bit(DQ_LASTSET_B + QIF_SPACE_B, &dquot->dq_flags); + __set_bit(DQ_LASTSET_B + QIF_SPACE_B, &dquot->dq_flags); } if (di->dqb_valid & QIF_BLIMITS) { dm->dqb_bsoftlimit = qbtos(di->dqb_bsoftlimit); dm->dqb_bhardlimit = qbtos(di->dqb_bhardlimit); check_blim = 1; - set_bit(DQ_LASTSET_B + QIF_BLIMITS_B, &dquot->dq_flags); + __set_bit(DQ_LASTSET_B + QIF_BLIMITS_B, &dquot->dq_flags); } if (di->dqb_valid & QIF_INODES) { dm->dqb_curinodes = di->dqb_curinodes; check_ilim = 1; - set_bit(DQ_LASTSET_B + QIF_INODES_B, &dquot->dq_flags); + __set_bit(DQ_LASTSET_B + QIF_INODES_B, &dquot->dq_flags); } if (di->dqb_valid & QIF_ILIMITS) { dm->dqb_isoftlimit = di->dqb_isoftlimit; dm->dqb_ihardlimit = di->dqb_ihardlimit; check_ilim = 1; - set_bit(DQ_LASTSET_B + QIF_ILIMITS_B, &dquot->dq_flags); + __set_bit(DQ_LASTSET_B + QIF_ILIMITS_B, &dquot->dq_flags); } if (di->dqb_valid & QIF_BTIME) { dm->dqb_btime = di->dqb_btime; check_blim = 1; - set_bit(DQ_LASTSET_B + QIF_BTIME_B, &dquot->dq_flags); + __set_bit(DQ_LASTSET_B + QIF_BTIME_B, &dquot->dq_flags); } if (di->dqb_valid & QIF_ITIME) { dm->dqb_itime = di->dqb_itime; check_ilim = 1; - set_bit(DQ_LASTSET_B + QIF_ITIME_B, &dquot->dq_flags); + __set_bit(DQ_LASTSET_B + QIF_ITIME_B, &dquot->dq_flags); } if (check_blim) {