static int v2r1_is_id(void *dp, struct dquot *dquot)
{
	struct v2r1_disk_dqblk *d = dp;
	struct qtree_mem_dqinfo *info =
			&dquot->dq_h->qh_info.u.v2_mdqi.dqi_qtree;

	if (qtree_entry_unused(info, dp))
		return 0;
	return ext2fs_le32_to_cpu(d->dqb_id) == dquot->dq_id;
}
예제 #2
0
static int v2r1_is_id(void *dp, struct dquot *dquot)
{
    struct v2r1_disk_dqblk *d = dp;
    struct qtree_mem_dqinfo *info =
        sb_dqinfo(dquot->dq_sb, dquot->dq_type)->dqi_priv;

    if (qtree_entry_unused(info, dp))
        return 0;
    return le32_to_cpu(d->dqb_id) == dquot->dq_id;
}
예제 #3
0
파일: quota_v2.c 프로젝트: 383530895/linux
static int v2r1_is_id(void *dp, struct dquot *dquot)
{
	struct v2r1_disk_dqblk *d = dp;
	struct qtree_mem_dqinfo *info =
			sb_dqinfo(dquot->dq_sb, dquot->dq_id.type)->dqi_priv;

	if (qtree_entry_unused(info, dp))
		return 0;
	return qid_eq(make_kqid(&init_user_ns, dquot->dq_id.type,
				le32_to_cpu(d->dqb_id)),
		      dquot->dq_id);
}
/*
 * Copy dquot from memory to disk
 */
static void v2r1_mem2diskdqblk(void *dp, struct dquot *dquot)
{
	struct util_dqblk *m = &dquot->dq_dqb;
	struct v2r1_disk_dqblk *d = dp;

	d->dqb_ihardlimit = ext2fs_cpu_to_le64(m->dqb_ihardlimit);
	d->dqb_isoftlimit = ext2fs_cpu_to_le64(m->dqb_isoftlimit);
	d->dqb_bhardlimit = ext2fs_cpu_to_le64(m->dqb_bhardlimit);
	d->dqb_bsoftlimit = ext2fs_cpu_to_le64(m->dqb_bsoftlimit);
	d->dqb_curinodes = ext2fs_cpu_to_le64(m->dqb_curinodes);
	d->dqb_curspace = ext2fs_cpu_to_le64(m->dqb_curspace);
	d->dqb_itime = ext2fs_cpu_to_le64(m->dqb_itime);
	d->dqb_btime = ext2fs_cpu_to_le64(m->dqb_btime);
	d->dqb_id = ext2fs_cpu_to_le32(dquot->dq_id);
	if (qtree_entry_unused(&dquot->dq_h->qh_info.u.v2_mdqi.dqi_qtree, dp))
		d->dqb_itime = ext2fs_cpu_to_le64(1);
}
예제 #5
0
static void v2r1_mem2diskdqb(void *dp, struct dquot *dquot)
{
    struct v2r1_disk_dqblk *d = dp;
    struct mem_dqblk *m = &dquot->dq_dqb;
    struct qtree_mem_dqinfo *info =
        sb_dqinfo(dquot->dq_sb, dquot->dq_type)->dqi_priv;

    d->dqb_ihardlimit = cpu_to_le64(m->dqb_ihardlimit);
    d->dqb_isoftlimit = cpu_to_le64(m->dqb_isoftlimit);
    d->dqb_curinodes = cpu_to_le64(m->dqb_curinodes);
    d->dqb_itime = cpu_to_le64(m->dqb_itime);
    d->dqb_bhardlimit = cpu_to_le64(v2_stoqb(m->dqb_bhardlimit));
    d->dqb_bsoftlimit = cpu_to_le64(v2_stoqb(m->dqb_bsoftlimit));
    d->dqb_curspace = cpu_to_le64(m->dqb_curspace);
    d->dqb_btime = cpu_to_le64(m->dqb_btime);
    d->dqb_id = cpu_to_le32(dquot->dq_id);
    if (qtree_entry_unused(info, dp))
        d->dqb_itime = cpu_to_le64(1);
}