return NULL;
 
        qd->qd_sbd = sdp;
-       lockref_init(&qd->qd_lockref, 0);
+       lockref_init(&qd->qd_lockref, 1);
        qd->qd_id = qid;
        qd->qd_slot = -1;
        INIT_LIST_HEAD(&qd->qd_lru);
        spin_lock_bucket(hash);
        *qdp = qd = gfs2_qd_search_bucket(hash, sdp, qid);
        if (qd == NULL) {
-               new_qd->qd_lockref.count++;
                *qdp = new_qd;
                list_add(&new_qd->qd_list, &sdp->sd_quota_list);
                hlist_bl_add_head_rcu(&new_qd->qd_hlist, &qd_hash_table[hash]);
                        if (qd == NULL)
                                goto fail_brelse;
 
+                       qd->qd_lockref.count = 0;
                        set_bit(QDF_CHANGE, &qd->qd_flags);
                        qd->qd_change = qc_change;
                        qd->qd_slot = slot;