Lines Matching refs:dquot

1617 static int ext4_write_dquot(struct dquot *dquot);
1618 static int ext4_acquire_dquot(struct dquot *dquot);
1619 static int ext4_release_dquot(struct dquot *dquot);
1620 static int ext4_mark_dquot_dirty(struct dquot *dquot);
1631 static struct dquot __rcu **ext4_get_dquots(struct inode *inode)
6913 struct dquot *dquot;
6918 dquot = dqget(sb, qid);
6919 if (IS_ERR(dquot))
6920 return PTR_ERR(dquot);
6921 spin_lock(&dquot->dq_dqb_lock);
6923 limit = min_not_zero(dquot->dq_dqb.dqb_bsoftlimit,
6924 dquot->dq_dqb.dqb_bhardlimit);
6930 curblock = (dquot->dq_dqb.dqb_curspace +
6931 dquot->dq_dqb.dqb_rsvspace) >> sb->s_blocksize_bits;
6940 limit = min_not_zero(dquot->dq_dqb.dqb_isoftlimit,
6941 dquot->dq_dqb.dqb_ihardlimit);
6945 if (limit > dquot->dq_dqb.dqb_curinodes)
6946 remaining = limit - dquot->dq_dqb.dqb_curinodes;
6952 spin_unlock(&dquot->dq_dqb_lock);
6953 dqput(dquot);
7001 static inline struct inode *dquot_to_inode(struct dquot *dquot)
7003 return sb_dqopt(dquot->dq_sb)->files[dquot->dq_id.type];
7006 static int ext4_write_dquot(struct dquot *dquot)
7012 inode = dquot_to_inode(dquot);
7014 EXT4_QUOTA_TRANS_BLOCKS(dquot->dq_sb));
7017 ret = dquot_commit(dquot);
7019 ext4_error_err(dquot->dq_sb, -ret,
7020 "Failed to commit dquot type %d",
7021 dquot->dq_id.type);
7028 static int ext4_acquire_dquot(struct dquot *dquot)
7033 handle = ext4_journal_start(dquot_to_inode(dquot), EXT4_HT_QUOTA,
7034 EXT4_QUOTA_INIT_BLOCKS(dquot->dq_sb));
7037 ret = dquot_acquire(dquot);
7039 ext4_error_err(dquot->dq_sb, -ret,
7040 "Failed to acquire dquot type %d",
7041 dquot->dq_id.type);
7048 static int ext4_release_dquot(struct dquot *dquot)
7060 sb_start_intwrite(dquot->dq_sb);
7064 handle = ext4_journal_start(dquot_to_inode(dquot), EXT4_HT_QUOTA,
7065 EXT4_QUOTA_DEL_BLOCKS(dquot->dq_sb));
7067 /* Release dquot anyway to avoid endless cycle in dqput() */
7068 dquot_release(dquot);
7070 sb_end_intwrite(dquot->dq_sb);
7073 ret = dquot_release(dquot);
7075 ext4_error_err(dquot->dq_sb, -ret,
7076 "Failed to release dquot type %d",
7077 dquot->dq_id.type);
7083 sb_end_intwrite(dquot->dq_sb);
7088 static int ext4_mark_dquot_dirty(struct dquot *dquot)
7090 struct super_block *sb = dquot->dq_sb;
7093 dquot_mark_dquot_dirty(dquot);
7094 return ext4_write_dquot(dquot);
7096 return dquot_mark_dquot_dirty(dquot);