struct gfs2_sbd *sdp = GFS2_SB(dir);
        struct inode *inode = d_inode(old_dentry);
        struct gfs2_inode *ip = GFS2_I(inode);
-       struct gfs2_holder ghs[2];
+       struct gfs2_holder d_gh, gh;
        struct buffer_head *dibh;
        struct gfs2_diradd da = { .bh = NULL, .save_loc = 1, };
        int error;
        if (error)
                return error;
 
-       gfs2_holder_init(dip->i_gl, LM_ST_EXCLUSIVE, 0, ghs);
-       gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, ghs + 1);
+       gfs2_holder_init(dip->i_gl, LM_ST_EXCLUSIVE, 0, &d_gh);
+       gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh);
 
-       error = gfs2_glock_nq(ghs); /* parent */
+       error = gfs2_glock_nq(&d_gh);
        if (error)
                goto out_parent;
 
-       error = gfs2_glock_nq(ghs + 1); /* child */
+       error = gfs2_glock_nq(&gh);
        if (error)
                goto out_child;
 
                gfs2_quota_unlock(dip);
 out_gunlock:
        gfs2_dir_no_add(&da);
-       gfs2_glock_dq(ghs + 1);
+       gfs2_glock_dq(&gh);
 out_child:
-       gfs2_glock_dq(ghs);
+       gfs2_glock_dq(&d_gh);
 out_parent:
        gfs2_qa_put(dip);
-       gfs2_holder_uninit(ghs);
-       gfs2_holder_uninit(ghs + 1);
+       gfs2_holder_uninit(&d_gh);
+       gfs2_holder_uninit(&gh);
        return error;
 }