X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ffld%2Ffld_handler.c;h=a7990884b3863c6665f2a9d670f8b3f95c30c27b;hb=75bee6aad7f94552da87b411dda0b692d7b000f8;hp=2b6ab128d1703e51cf028e0c167b37b95008c765;hpb=4201416b775b14d6e4cd89b7c68bb1c1bc950144;p=fs%2Flustre-release.git diff --git a/lustre/fld/fld_handler.c b/lustre/fld/fld_handler.c index 2b6ab12..a799088 100644 --- a/lustre/fld/fld_handler.c +++ b/lustre/fld/fld_handler.c @@ -67,6 +67,7 @@ #include #include #include "fld_internal.h" +#include #ifdef __KERNEL__ @@ -134,7 +135,7 @@ int fld_server_create(struct lu_server_fld *fld, ENTRY; info = lu_context_key_get(&env->le_ctx, &fld_thread_key); - mutex_lock(&fld->lsf_lock); + cfs_mutex_lock(&fld->lsf_lock); erange = &info->fti_lrange; new = &info->fti_irange; @@ -228,7 +229,7 @@ out: if (rc == 0) fld_cache_insert(fld->lsf_cache, new); - mutex_unlock(&fld->lsf_lock); + cfs_mutex_unlock(&fld->lsf_lock); CDEBUG((rc != 0 ? D_ERROR : D_INFO), "%s: FLD create: given range : "DRANGE @@ -466,6 +467,7 @@ int fld_server_init(struct lu_server_fld *fld, struct dt_device *dt, int mds_node_id) { int cache_size, cache_threshold; + struct lu_seq_range range; int rc; ENTRY; @@ -478,7 +480,7 @@ int fld_server_init(struct lu_server_fld *fld, struct dt_device *dt, cache_threshold = cache_size * FLD_SERVER_CACHE_THRESHOLD / 100; - mutex_init(&fld->lsf_lock); + cfs_mutex_init(&fld->lsf_lock); fld->lsf_cache = fld_cache_init(fld->lsf_name, cache_size, cache_threshold); if (IS_ERR(fld->lsf_cache)) { @@ -499,6 +501,13 @@ int fld_server_init(struct lu_server_fld *fld, struct dt_device *dt, GOTO(out, rc); fld->lsf_control_exp = NULL; + + /* Insert reserved sequence number of ".lustre" into fld cache. */ + range.lsr_start = LU_DOT_LUSTRE_SEQ; + range.lsr_end = LU_DOT_LUSTRE_SEQ + 1; + range.lsr_mdt = 0; + fld_cache_insert(fld->lsf_cache, &range); + EXIT; out: if (rc)