This helps us to make code more readable. Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxx> --- fs/ext3/super.c | 2 +- fs/ext4/super.c | 2 +- fs/ocfs2/quota_global.c | 4 ++-- fs/quota/dquot.c | 18 +++++++++--------- fs/quota/quota_tree.c | 2 +- fs/quota/quota_v1.c | 8 ++++---- include/linux/quota.h | 1 + include/linux/quotaops.h | 4 ++++ 8 files changed, 23 insertions(+), 18 deletions(-) diff --git a/fs/ext3/super.c b/fs/ext3/super.c index 15f63d3..c5b0c1d 100644 --- a/fs/ext3/super.c +++ b/fs/ext3/super.c @@ -2751,7 +2751,7 @@ static int ext3_statfs (struct dentry * dentry, struct kstatfs * buf) static inline struct inode *dquot_to_inode(struct dquot *dquot) { - return sb_dqopt(dquot->dq_sb)->files[dquot->dq_type]; + return dq_opt(dquot)->files[dquot->dq_type]; } static int ext3_write_dquot(struct dquot *dquot) diff --git a/fs/ext4/super.c b/fs/ext4/super.c index bcf86b3..301462a 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -3968,7 +3968,7 @@ static int ext4_statfs(struct dentry *dentry, struct kstatfs *buf) static inline struct inode *dquot_to_inode(struct dquot *dquot) { - return sb_dqopt(dquot->dq_sb)->files[dquot->dq_type]; + return dq_opt(dquot)->files[dquot->dq_type]; } static int ext4_write_dquot(struct dquot *dquot) diff --git a/fs/ocfs2/quota_global.c b/fs/ocfs2/quota_global.c index 4607923..2c88a87 100644 --- a/fs/ocfs2/quota_global.c +++ b/fs/ocfs2/quota_global.c @@ -657,9 +657,9 @@ static int ocfs2_write_dquot(struct dquot *dquot) mlog_errno(status); goto out; } - mutex_lock(&sb_dqopt(dquot->dq_sb)->dqio_mutex); + mutex_lock(&dq_opt(dqopt)->dqio_mutex); status = ocfs2_local_write_dquot(dquot); - mutex_unlock(&sb_dqopt(dquot->dq_sb)->dqio_mutex); + mutex_unlock(&dq_opt(dqopt)->dqio_mutex); ocfs2_commit_trans(osb, handle); out: mlog_exit(status); diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index 686c2b7..ce542e2 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c @@ -346,7 +346,7 @@ int dquot_mark_dquot_dirty(struct dquot *dquot) spin_lock(&dq_list_lock); if (!test_and_set_bit(DQ_MOD_B, &dquot->dq_flags)) { - list_add(&dquot->dq_dirty, &sb_dqopt(dquot->dq_sb)-> + list_add(&dquot->dq_dirty, &dq_opt(dquot)-> info[dquot->dq_type].dqi_dirty_list); ret = 0; } @@ -401,7 +401,7 @@ EXPORT_SYMBOL(mark_info_dirty); int dquot_acquire(struct dquot *dquot) { int ret = 0, ret2 = 0; - struct quota_info *dqopt = sb_dqopt(dquot->dq_sb); + struct quota_info *dqopt = dq_opt(dquot); mutex_lock(&dquot->dq_lock); mutex_lock(&dqopt->dqio_mutex); @@ -439,7 +439,7 @@ EXPORT_SYMBOL(dquot_acquire); int dquot_commit(struct dquot *dquot) { int ret = 0, ret2 = 0; - struct quota_info *dqopt = sb_dqopt(dquot->dq_sb); + struct quota_info *dqopt = dq_opt(dquot); mutex_lock(&dqopt->dqio_mutex); spin_lock(&dq_list_lock); @@ -471,7 +471,7 @@ EXPORT_SYMBOL(dquot_commit); int dquot_release(struct dquot *dquot) { int ret = 0, ret2 = 0; - struct quota_info *dqopt = sb_dqopt(dquot->dq_sb); + struct quota_info *dqopt = dq_opt(dquot); mutex_lock(&dquot->dq_lock); /* Check whether we are not racing with some other dqget() */ @@ -1081,7 +1081,7 @@ void dquot_free_reserved_space(struct dquot *dquot, qsize_t number) static void dquot_decr_inodes(struct dquot *dquot, qsize_t number) { - if (sb_dqopt(dquot->dq_sb)->flags & DQUOT_NEGATIVE_USAGE || + if (dq_opt(dquot)->flags & DQUOT_NEGATIVE_USAGE || dquot->dq_dqb.dqb_curinodes >= number) dquot->dq_dqb.dqb_curinodes -= number; else @@ -1093,7 +1093,7 @@ static void dquot_decr_inodes(struct dquot *dquot, qsize_t number) static void dquot_decr_space(struct dquot *dquot, qsize_t number) { - if (sb_dqopt(dquot->dq_sb)->flags & DQUOT_NEGATIVE_USAGE || + if (dq_opt(dquot)->flags & DQUOT_NEGATIVE_USAGE || dquot->dq_dqb.dqb_curspace >= number) dquot->dq_dqb.dqb_curspace -= number; else @@ -1203,7 +1203,7 @@ static void flush_warnings(struct dquot *const *dquots, char *warntype) static int ignore_hardlimit(struct dquot *dquot) { - struct mem_dqinfo *info = &sb_dqopt(dquot->dq_sb)->info[dquot->dq_type]; + struct mem_dqinfo *info = &dq_opt(dquot)->info[dquot->dq_type]; return capable(CAP_SYS_RESOURCE) && (info->dqi_format->qf_fmt_id != QFMT_VFS_OLD || @@ -1241,7 +1241,7 @@ static int check_idq(struct dquot *dquot, qsize_t inodes, char *warntype) dquot->dq_dqb.dqb_itime == 0) { *warntype = QUOTA_NL_ISOFTWARN; dquot->dq_dqb.dqb_itime = get_seconds() + - sb_dqopt(dquot->dq_sb)->info[dquot->dq_type].dqi_igrace; + dq_opt(dquot)->info[dquot->dq_type].dqi_igrace; } return 0; @@ -2331,7 +2331,7 @@ static int do_set_dqblk(struct dquot *dquot, struct fs_disk_quota *di) { struct mem_dqblk *dm = &dquot->dq_dqb; int check_blim = 0, check_ilim = 0; - struct mem_dqinfo *dqi = &sb_dqopt(dquot->dq_sb)->info[dquot->dq_type]; + struct mem_dqinfo *dqi = &dq_opt(dquot)->info[dquot->dq_type]; if (di->d_fieldmask & ~VFS_FS_DQ_MASK) return -EINVAL; diff --git a/fs/quota/quota_tree.c b/fs/quota/quota_tree.c index 9e48874..3eb95ec 100644 --- a/fs/quota/quota_tree.c +++ b/fs/quota/quota_tree.c @@ -596,7 +596,7 @@ int qtree_read_dquot(struct qtree_mem_dqinfo *info, struct dquot *dquot) #ifdef __QUOTA_QT_PARANOIA /* Invalidated quota? */ - if (!sb_dqopt(dquot->dq_sb)->files[type]) { + if (!dq_opt(dquot)->files[type]) { quota_error(sb, "Quota invalidated while reading!"); return -EIO; } diff --git a/fs/quota/quota_v1.c b/fs/quota/quota_v1.c index 34b37a6..c7ef325 100644 --- a/fs/quota/quota_v1.c +++ b/fs/quota/quota_v1.c @@ -57,7 +57,7 @@ static int v1_read_dqblk(struct dquot *dquot) int type = dquot->dq_type; struct v1_disk_dqblk dqblk; - if (!sb_dqopt(dquot->dq_sb)->files[type]) + if (!dq_opt(dquot)->files[type]) return -EINVAL; /* Set structure to 0s in case read fails/is after end of file */ @@ -85,12 +85,12 @@ static int v1_commit_dqblk(struct dquot *dquot) v1_mem2disk_dqblk(&dqblk, &dquot->dq_dqb); if (dquot->dq_id == 0) { dqblk.dqb_btime = - sb_dqopt(dquot->dq_sb)->info[type].dqi_bgrace; + dq_opt(dquot)->info[type].dqi_bgrace; dqblk.dqb_itime = - sb_dqopt(dquot->dq_sb)->info[type].dqi_igrace; + dq_opt(dquot)->info[type].dqi_igrace; } ret = 0; - if (sb_dqopt(dquot->dq_sb)->files[type]) + if (dq_opt(dquot)->files[type]) ret = dquot->dq_sb->s_op->quota_write(dquot->dq_sb, type, (char *)&dqblk, sizeof(struct v1_disk_dqblk), v1_dqoff(dquot->dq_id)); diff --git a/include/linux/quota.h b/include/linux/quota.h index 9a85412..00e1b3d 100644 --- a/include/linux/quota.h +++ b/include/linux/quota.h @@ -182,6 +182,7 @@ enum { #include <asm/atomic.h> + typedef __kernel_uid32_t qid_t; /* Type in which we store ids in memory */ typedef long long qsize_t; /* Type in which we store sizes */ diff --git a/include/linux/quotaops.h b/include/linux/quotaops.h index 9e09c9a..d81cbba 100644 --- a/include/linux/quotaops.h +++ b/include/linux/quotaops.h @@ -17,6 +17,10 @@ static inline struct quota_info *sb_dqopt(struct super_block *sb) { return &sb->s_dquot; } +static inline struct quota_info* dq_opt(struct dquot *dq) +{ + return sb_dqopt(dq->dq_sb); +} /* i_mutex must being held */ static inline bool is_quota_modification(struct inode *inode, struct iattr *ia) -- 1.6.6.1 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html