]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
gfs2: Modify qdsb_get to take a struct kqid
authorEric W. Biederman <ebiederm@xmission.com>
Fri, 1 Feb 2013 03:35:56 +0000 (19:35 -0800)
committerEric W. Biederman <ebiederm@xmission.com>
Wed, 13 Feb 2013 14:15:05 +0000 (06:15 -0800)
Cc: Steven Whitehouse <swhiteho@redhat.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
fs/gfs2/quota.c

index 02913e95491cab4c93e1adf004dc7351fc3f862b..20762ae2a9c44065bc4bc4ce69ed5697a62ffc2f 100644 (file)
@@ -464,12 +464,13 @@ static void qd_unlock(struct gfs2_quota_data *qd)
        qd_put(qd);
 }
 
-static int qdsb_get(struct gfs2_sbd *sdp, int user, u32 id,
+static int qdsb_get(struct gfs2_sbd *sdp, struct kqid qid,
                    struct gfs2_quota_data **qdp)
 {
        int error;
 
-       error = qd_get(sdp, user, id, qdp);
+       error = qd_get(sdp, qid.type == USRQUOTA ? QUOTA_USER : QUOTA_GROUP,
+                      from_kqid(&init_user_ns, qid), qdp);
        if (error)
                return error;
 
@@ -518,20 +519,20 @@ int gfs2_quota_hold(struct gfs2_inode *ip, u32 uid, u32 gid)
        if (sdp->sd_args.ar_quota == GFS2_QUOTA_OFF)
                return 0;
 
-       error = qdsb_get(sdp, QUOTA_USER, ip->i_inode.i_uid, qd);
+       error = qdsb_get(sdp, make_kqid_uid(ip->i_inode.i_uid), qd);
        if (error)
                goto out;
        ip->i_res->rs_qa_qd_num++;
        qd++;
 
-       error = qdsb_get(sdp, QUOTA_GROUP, ip->i_inode.i_gid, qd);
+       error = qdsb_get(sdp, make_kqid_gid(ip->i_inode.i_gid), qd);
        if (error)
                goto out;
        ip->i_res->rs_qa_qd_num++;
        qd++;
 
        if (uid != NO_UID_QUOTA_CHANGE && uid != ip->i_inode.i_uid) {
-               error = qdsb_get(sdp, QUOTA_USER, uid, qd);
+               error = qdsb_get(sdp, make_kqid_uid(uid), qd);
                if (error)
                        goto out;
                ip->i_res->rs_qa_qd_num++;
@@ -539,7 +540,7 @@ int gfs2_quota_hold(struct gfs2_inode *ip, u32 uid, u32 gid)
        }
 
        if (gid != NO_GID_QUOTA_CHANGE && gid != ip->i_inode.i_gid) {
-               error = qdsb_get(sdp, QUOTA_GROUP, gid, qd);
+               error = qdsb_get(sdp, make_kqid_gid(gid), qd);
                if (error)
                        goto out;
                ip->i_res->rs_qa_qd_num++;