X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fquota%2Fqmt_entry.c;h=9c6b9a391294e0823135f5764d7968f5a580f702;hb=9fb46705ae86aa2c0ac29427f0ff24f923560eb7;hp=59a06531258a82b033206587bff4f600a089c403;hpb=9680dabde70a9ec5f211e26d7c2f2988f296f455;p=fs%2Flustre-release.git diff --git a/lustre/quota/qmt_entry.c b/lustre/quota/qmt_entry.c index 59a0653..9c6b9a3 100644 --- a/lustre/quota/qmt_entry.c +++ b/lustre/quota/qmt_entry.c @@ -47,7 +47,7 @@ static void qmt_lqe_init(struct lquota_entry *lqe, void *arg) LASSERT(lqe_is_master(lqe)); lqe->lqe_revoke_time = 0; - cfs_init_rwsem(&lqe->lqe_sem); + init_rwsem(&lqe->lqe_sem); } /* @@ -261,21 +261,16 @@ int qmt_glb_write(const struct lu_env *env, struct thandle *th, LQUOTA_DEBUG(lqe, "write glb"); - if (!lqe->lqe_enforced && lqe->lqe_granted == 0 && - lqe->lqe_id.qid_uid != 0) { - /* quota isn't enforced any more for this entry and there is no - * more space granted to slaves, let's just remove the entry - * from the index */ - rec = NULL; - } else { - rec = &qti->qti_glb_rec; + /* never delete the entry even when the id isn't enforced and + * no any guota granted, otherwise, this entry will not be + * synced to slave during the reintegration. */ + rec = &qti->qti_glb_rec; - /* fill global index with updated quota settings */ - rec->qbr_granted = lqe->lqe_granted; - rec->qbr_hardlimit = lqe->lqe_hardlimit; - rec->qbr_softlimit = lqe->lqe_softlimit; - rec->qbr_time = lqe->lqe_gracetime; - } + /* fill global index with updated quota settings */ + rec->qbr_granted = lqe->lqe_granted; + rec->qbr_hardlimit = lqe->lqe_hardlimit; + rec->qbr_softlimit = lqe->lqe_softlimit; + rec->qbr_time = lqe->lqe_gracetime; /* write new quota settings */ rc = lquota_disk_write(env, th, LQE_GLB_OBJ(lqe), &lqe->lqe_id, @@ -372,16 +367,12 @@ int qmt_slv_write(const struct lu_env *env, struct thandle *th, LQUOTA_DEBUG(lqe, "write slv "DFID" granted:"LPU64, PFID(lu_object_fid(&slv_obj->do_lu)), granted); - if (granted == 0) { - /* this slave does not own any quota space for this ID any more, - * so let's just remove the entry from the index */ - rec = NULL; - } else { - rec = &qti->qti_slv_rec; + /* never delete the entry, otherwise, it'll not be transferred + * to slave during reintegration. */ + rec = &qti->qti_slv_rec; - /* updated space granted to this slave */ - rec->qsr_granted = granted; - } + /* updated space granted to this slave */ + rec->qsr_granted = granted; /* write new granted space */ rc = lquota_disk_write(env, th, slv_obj, &lqe->lqe_id,