kqid
struct kqid qid;
struct kqid qid;
struct kqid qd_id;
int gfs2_quota_refresh(struct gfs2_sbd *sdp, struct kqid qid)
struct kqid qc_id = make_kqid(&init_user_ns, qtype,
static int gfs2_get_dqblk(struct super_block *sb, struct kqid qid,
static int gfs2_set_dqblk(struct super_block *sb, struct kqid qid,
struct kqid qid = qd->qd_id;
static struct gfs2_quota_data *qd_alloc(unsigned hash, struct gfs2_sbd *sdp, struct kqid qid)
struct kqid qid)
static int qd_get(struct gfs2_sbd *sdp, struct kqid qid,
static int qdsb_get(struct gfs2_sbd *sdp, struct kqid qid,
const struct kqid qid)
h = jhash(&qid, sizeof(struct kqid), h);
int gfs2_quota_refresh(struct gfs2_sbd *sdp, struct kqid qid);
struct kqid qid;
struct kqid qid;
static int ocfs2_get_next_id(struct super_block *sb, struct kqid *qid)
struct kqid w_dq_id;
struct kqid qid;
int dquot_get_next_id(struct super_block *sb, struct kqid *qid)
int dquot_get_dqblk(struct super_block *sb, struct kqid qid,
int dquot_get_next_dqblk(struct super_block *sb, struct kqid *qid,
hashfn(const struct super_block *sb, struct kqid qid)
int dquot_set_dqblk(struct super_block *sb, struct kqid qid,
struct kqid qid)
struct dquot *dqget(struct super_block *sb, struct kqid qid)
qid_t from_kqid_munged(struct user_namespace *targ, struct kqid kqid)
switch (kqid.type) {
return from_kuid_munged(targ, kqid.uid);
return from_kgid_munged(targ, kqid.gid);
return from_kprojid_munged(targ, kqid.projid);
bool qid_valid(struct kqid qid)
bool qid_eq(struct kqid left, struct kqid right)
bool qid_lt(struct kqid left, struct kqid right)
qid_t from_kqid(struct user_namespace *targ, struct kqid kqid)
switch (kqid.type) {
return from_kuid(targ, kqid.uid);
return from_kgid(targ, kqid.gid);
return from_kprojid(targ, kqid.projid);
void quota_send_warning(struct kqid qid, dev_t dev,
struct kqid qid;
struct kqid qid;
struct kqid qid;
struct kqid qid;
struct kqid qid;
struct kqid qid;
static int get_index(struct qtree_mem_dqinfo *info, struct kqid qid, int depth)
int qtree_get_next_id(struct qtree_mem_dqinfo *info, struct kqid *qid)
static int v2_get_next_id(struct super_block *sb, struct kqid *qid)
struct kqid qid,
struct kqid *qid,
struct kqid qid,
struct kqid;
int qtree_get_next_id(struct qtree_mem_dqinfo *info, struct kqid *qid);
struct kqid kqid;
kqid.type = type;
kqid.uid = make_kuid(from, qid);
kqid.gid = make_kgid(from, qid);
kqid.projid = make_kprojid(from, qid);
return kqid;
static inline struct kqid make_kqid_invalid(enum quota_type type)
struct kqid kqid;
kqid.type = type;
kqid.uid = INVALID_UID;
kqid.gid = INVALID_GID;
kqid.projid = INVALID_PROJID;
return kqid;
static inline struct kqid make_kqid_uid(kuid_t uid)
struct kqid kqid;
kqid.type = USRQUOTA;
kqid.uid = uid;
return kqid;
static inline struct kqid make_kqid_gid(kgid_t gid)
struct kqid kqid;
kqid.type = GRPQUOTA;
kqid.gid = gid;
return kqid;
static inline struct kqid make_kqid_projid(kprojid_t projid)
struct kqid kqid;
kqid.type = PRJQUOTA;
kqid.projid = projid;
return kqid;
static inline bool qid_has_mapping(struct user_namespace *ns, struct kqid qid)
struct kqid dq_id; /* ID this applies to (uid, gid, projid) */
int (*get_next_id)(struct super_block *sb, struct kqid *qid); /* Get next ID with existing structure in the quota file */
int (*get_next_id) (struct super_block *sb, struct kqid *qid);
int (*get_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *);
int (*get_nextdqblk)(struct super_block *, struct kqid *,
int (*set_dqblk)(struct super_block *, struct kqid, struct qc_dqblk *);
extern void quota_send_warning(struct kqid qid, dev_t dev,
static inline void quota_send_warning(struct kqid qid, dev_t dev,
extern bool qid_eq(struct kqid left, struct kqid right);
extern bool qid_lt(struct kqid left, struct kqid right);
extern qid_t from_kqid(struct user_namespace *to, struct kqid qid);
extern qid_t from_kqid_munged(struct user_namespace *to, struct kqid qid);
extern bool qid_valid(struct kqid qid);
static inline struct kqid make_kqid(struct user_namespace *from,
int dquot_get_dqblk(struct super_block *sb, struct kqid id,
int dquot_get_next_dqblk(struct super_block *sb, struct kqid *id,
int dquot_set_dqblk(struct super_block *sb, struct kqid id,
struct dquot *dqget(struct super_block *sb, struct kqid qid);
int dquot_get_next_id(struct super_block *sb, struct kqid *qid);
static int shmem_get_next_id(struct super_block *sb, struct kqid *qid)