Lines Matching defs:dquot
1586 static int ext4_write_dquot(struct dquot *dquot);
1587 static int ext4_acquire_dquot(struct dquot *dquot);
1588 static int ext4_release_dquot(struct dquot *dquot);
1589 static int ext4_mark_dquot_dirty(struct dquot *dquot);
1602 static struct dquot **ext4_get_dquots(struct inode *inode)
6154 struct dquot *dquot;
6159 dquot = dqget(sb, qid);
6160 if (IS_ERR(dquot))
6161 return PTR_ERR(dquot);
6162 spin_lock(&dquot->dq_dqb_lock);
6164 limit = min_not_zero(dquot->dq_dqb.dqb_bsoftlimit,
6165 dquot->dq_dqb.dqb_bhardlimit);
6169 curblock = (dquot->dq_dqb.dqb_curspace +
6170 dquot->dq_dqb.dqb_rsvspace) >> sb->s_blocksize_bits;
6177 limit = min_not_zero(dquot->dq_dqb.dqb_isoftlimit,
6178 dquot->dq_dqb.dqb_ihardlimit);
6182 (buf->f_files > dquot->dq_dqb.dqb_curinodes) ?
6183 (buf->f_files - dquot->dq_dqb.dqb_curinodes) : 0;
6186 spin_unlock(&dquot->dq_dqb_lock);
6187 dqput(dquot);
6238 static inline struct inode *dquot_to_inode(struct dquot *dquot)
6240 return sb_dqopt(dquot->dq_sb)->files[dquot->dq_id.type];
6243 static int ext4_write_dquot(struct dquot *dquot)
6249 inode = dquot_to_inode(dquot);
6251 EXT4_QUOTA_TRANS_BLOCKS(dquot->dq_sb));
6254 ret = dquot_commit(dquot);
6261 static int ext4_acquire_dquot(struct dquot *dquot)
6266 handle = ext4_journal_start(dquot_to_inode(dquot), EXT4_HT_QUOTA,
6267 EXT4_QUOTA_INIT_BLOCKS(dquot->dq_sb));
6270 ret = dquot_acquire(dquot);
6277 static int ext4_release_dquot(struct dquot *dquot)
6282 handle = ext4_journal_start(dquot_to_inode(dquot), EXT4_HT_QUOTA,
6283 EXT4_QUOTA_DEL_BLOCKS(dquot->dq_sb));
6285 /* Release dquot anyway to avoid endless cycle in dqput() */
6286 dquot_release(dquot);
6289 ret = dquot_release(dquot);
6296 static int ext4_mark_dquot_dirty(struct dquot *dquot)
6298 struct super_block *sb = dquot->dq_sb;
6304 dquot_mark_dquot_dirty(dquot);
6305 return ext4_write_dquot(dquot);
6307 return dquot_mark_dquot_dirty(dquot);