X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fquota%2Flquota_disk.c;h=9269ec90ee90e5b27563a5015eeee28cde41c5dd;hb=cffd726304667ea3d84b4b3c1a9b66565e5a5566;hp=9f8069bc1b13e9e6c858d7fb7e045af68043a0fe;hpb=df66537682aef976102a5b986ec2830f8d00b0c6;p=fs%2Flustre-release.git diff --git a/lustre/quota/lquota_disk.c b/lustre/quota/lquota_disk.c index 9f8069b..9269ec9 100644 --- a/lustre/quota/lquota_disk.c +++ b/lustre/quota/lquota_disk.c @@ -21,7 +21,7 @@ * GPL HEADER END */ /* - * Copyright (c) 2012, Intel Corporation. + * Copyright (c) 2012, 2015, Intel Corporation. * Use is subject to license terms. * * Author: Johann Lombardi @@ -41,17 +41,13 @@ * required and create the index file on disk if * it does not exist. * - lquota_disk_for_each_slv: iterate over all existing slave index files - * - lquota_disk_read: read quota settings from a index file + * - lquota_disk_read: read quota settings from an index file * - lquota_disk_declare_write: reserve credits to update a record in an index * file * - lquota_disk_write: update a record in an index file * - lquota_disk_update_ver: update version of an index file */ -#ifndef EXPORT_SYMTAB -# define EXPORT_SYMTAB -#endif - #define DEBUG_SUBSYSTEM S_LQUOTA #include "lquota_internal.h" @@ -184,7 +180,7 @@ struct dt_object *lquota_disk_dir_find_create(const struct lu_env *env, GOTO(out, rc); parent = dt_locate_at(env, dev, &qti->qti_fid, - dev->dd_lu_dev.ld_site->ls_top_dev); + dev->dd_lu_dev.ld_site->ls_top_dev, NULL); if (IS_ERR(parent)) GOTO(out, rc = PTR_ERR(parent)); } else { @@ -248,16 +244,7 @@ struct dt_object *lquota_disk_glb_find_create(const struct lu_env *env, CDEBUG(D_QUOTA, "look-up/create %sglobal idx file ("DFID")\n", local ? "local " : "", PFID(fid)); -#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2,7,50,0) - /* we use different index feature for each quota type and target type - * for the time being. This is done for on-disk conversion from the old - * quota format. Once this is no longer required, we should just be - * using dt_quota_glb_features for all global index file */ - idx_feat = glb_idx_feature(fid); -#else -#warning "remove old quota compatibility code" idx_feat = &dt_quota_glb_features; -#endif /* the filename is composed of the most signicant bits of the FID, * that's to say the oid which encodes the pool id, pool type and quota @@ -491,7 +478,7 @@ int lquota_disk_for_each_slv(const struct lu_env *env, struct dt_object *parent, sprintf(name, "0x%x-", glb_fid->f_oid); iops = &parent->do_index_ops->dio_it; - it = iops->init(env, parent, 0, BYPASS_CAPA); + it = iops->init(env, parent, 0); if (IS_ERR(it)) { OBD_FREE(name, LQUOTA_NAME_MAX); RETURN(PTR_ERR(it)); @@ -583,8 +570,7 @@ int lquota_disk_read(const struct lu_env *env, struct dt_object *obj, /* lookup on-disk record from index file */ dt_read_lock(env, obj, 0); - rc = dt_lookup(env, obj, rec, (struct dt_key *)&id->qid_uid, - BYPASS_CAPA); + rc = dt_lookup(env, obj, rec, (struct dt_key *)&id->qid_uid); dt_read_unlock(env, obj); RETURN(rc); @@ -660,11 +646,10 @@ int lquota_disk_write(const struct lu_env *env, struct thandle *th, dt_write_lock(env, obj, 0); /* check whether there is already an existing record for this ID */ - rc = dt_lookup(env, obj, (struct dt_rec *)&qti->qti_rec, key, - BYPASS_CAPA); + rc = dt_lookup(env, obj, (struct dt_rec *)&qti->qti_rec, key); if (rc == 0) { /* delete existing record in order to replace it */ - rc = dt_delete(env, obj, key, th, BYPASS_CAPA); + rc = dt_delete(env, obj, key, th); if (rc) GOTO(out, rc); } else if (rc == -ENOENT) { @@ -676,13 +661,13 @@ int lquota_disk_write(const struct lu_env *env, struct thandle *th, if (rec != NULL) { /* insert record with updated quota settings */ - rc = dt_insert(env, obj, rec, key, th, BYPASS_CAPA, 1); + rc = dt_insert(env, obj, rec, key, th, 1); if (rc) { /* try to insert the old one */ rc = dt_insert(env, obj, (struct dt_rec *)&qti->qti_rec, - key, th, BYPASS_CAPA, 1); + key, th, 1); LASSERTF(rc == 0, "failed to insert record in quota " - "index "DFID, + "index "DFID"\n", PFID(lu_object_fid(&obj->do_lu))); GOTO(out, rc); } @@ -787,23 +772,21 @@ int lquota_disk_write_glb(const struct lu_env *env, struct dt_object *obj, if (tmp == NULL) GOTO(out_lock, rc = -ENOMEM); - rc = dt_lookup(env, obj, (struct dt_rec *)tmp, key, - BYPASS_CAPA); + rc = dt_lookup(env, obj, (struct dt_rec *)tmp, key); OBD_FREE_PTR(tmp); if (rc == 0) { - rc = dt_delete(env, obj, key, th, BYPASS_CAPA); + rc = dt_delete(env, obj, key, th); if (rc) GOTO(out_lock, rc); } rc = 0; } - rc = dt_insert(env, obj, (struct dt_rec *)rec, key, th, BYPASS_CAPA, 1); + rc = dt_insert(env, obj, (struct dt_rec *)rec, key, th, 1); out_lock: dt_write_unlock(env, obj); out: dt_trans_stop(env, dev, th); RETURN(rc); } -EXPORT_SYMBOL(lquota_disk_write_glb);