Lines Matching refs:dquot

1588 static int ext4_write_dquot(struct dquot *dquot);
1589 static int ext4_acquire_dquot(struct dquot *dquot);
1590 static int ext4_release_dquot(struct dquot *dquot);
1591 static int ext4_mark_dquot_dirty(struct dquot *dquot);
1602 static struct dquot __rcu **ext4_get_dquots(struct inode *inode)
6761 struct dquot *dquot;
6766 dquot = dqget(sb, qid);
6767 if (IS_ERR(dquot))
6768 return PTR_ERR(dquot);
6769 spin_lock(&dquot->dq_dqb_lock);
6771 limit = min_not_zero(dquot->dq_dqb.dqb_bsoftlimit,
6772 dquot->dq_dqb.dqb_bhardlimit);
6776 curblock = (dquot->dq_dqb.dqb_curspace +
6777 dquot->dq_dqb.dqb_rsvspace) >> sb->s_blocksize_bits;
6784 limit = min_not_zero(dquot->dq_dqb.dqb_isoftlimit,
6785 dquot->dq_dqb.dqb_ihardlimit);
6789 (buf->f_files > dquot->dq_dqb.dqb_curinodes) ?
6790 (buf->f_files - dquot->dq_dqb.dqb_curinodes) : 0;
6793 spin_unlock(&dquot->dq_dqb_lock);
6794 dqput(dquot);
6842 static inline struct inode *dquot_to_inode(struct dquot *dquot)
6844 return sb_dqopt(dquot->dq_sb)->files[dquot->dq_id.type];
6847 static int ext4_write_dquot(struct dquot *dquot)
6853 inode = dquot_to_inode(dquot);
6855 EXT4_QUOTA_TRANS_BLOCKS(dquot->dq_sb));
6858 ret = dquot_commit(dquot);
6860 ext4_error_err(dquot->dq_sb, -ret,
6861 "Failed to commit dquot type %d",
6862 dquot->dq_id.type);
6869 static int ext4_acquire_dquot(struct dquot *dquot)
6874 handle = ext4_journal_start(dquot_to_inode(dquot), EXT4_HT_QUOTA,
6875 EXT4_QUOTA_INIT_BLOCKS(dquot->dq_sb));
6878 ret = dquot_acquire(dquot);
6880 ext4_error_err(dquot->dq_sb, -ret,
6881 "Failed to acquire dquot type %d",
6882 dquot->dq_id.type);
6889 static int ext4_release_dquot(struct dquot *dquot)
6894 handle = ext4_journal_start(dquot_to_inode(dquot), EXT4_HT_QUOTA,
6895 EXT4_QUOTA_DEL_BLOCKS(dquot->dq_sb));
6897 /* Release dquot anyway to avoid endless cycle in dqput() */
6898 dquot_release(dquot);
6901 ret = dquot_release(dquot);
6903 ext4_error_err(dquot->dq_sb, -ret,
6904 "Failed to release dquot type %d",
6905 dquot->dq_id.type);
6912 static int ext4_mark_dquot_dirty(struct dquot *dquot)
6914 struct super_block *sb = dquot->dq_sb;
6917 dquot_mark_dquot_dirty(dquot);
6918 return ext4_write_dquot(dquot);
6920 return dquot_mark_dquot_dirty(dquot);