X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Finclude%2Flustre_fid.h;h=f32584902cba893798f4d2db47fb9e0ca97e91e1;hb=de8572645d287d17c409b99dabdf176822d91486;hp=f37c5a895352079e9faea99c83bb28a10de847b6;hpb=eb2e1b6322d85d088aaf195cc877dc598fc8dfe2;p=fs%2Flustre-release.git diff --git a/lustre/include/lustre_fid.h b/lustre/include/lustre_fid.h index f37c5a8..f325849 100644 --- a/lustre/include/lustre_fid.h +++ b/lustre/include/lustre_fid.h @@ -27,7 +27,7 @@ * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. * - * Copyright (c) 2011, 2013, Intel Corporation. + * Copyright (c) 2011, 2014, Intel Corporation. */ /* * This file is part of Lustre, http://www.lustre.org/ @@ -168,6 +168,7 @@ extern const struct lu_fid LUSTRE_BFL_FID; extern const struct lu_fid LU_OBF_FID; extern const struct lu_fid LU_LPF_FID; extern const struct lu_fid LU_DOT_LUSTRE_FID; +extern const struct lu_fid LU_BACKEND_LPF_FID; enum { /* @@ -223,6 +224,7 @@ enum local_oid { ACCT_GROUP_OID = 16UL, LFSCK_BOOKMARK_OID = 17UL, OTABLE_IT_OID = 18UL, + OSD_LPF_OID = 19UL, /* These two definitions are obsolete * OFD_GROUP0_LAST_OID = 20UL, * OFD_GROUP4K_LAST_OID = 20UL+4096, @@ -234,7 +236,9 @@ enum local_oid { MDD_LOV_OBJ_OSEQ = 4121UL, LFSCK_NAMESPACE_OID = 4122UL, REMOTE_PARENT_DIR_OID = 4123UL, - SLAVE_LLOG_CATALOGS_OID = 4124UL, + /* This definition is obsolete + * SLAVE_LLOG_CATALOGS_OID = 4124UL, + */ }; static inline void lu_local_obj_fid(struct lu_fid *fid, __u32 oid) @@ -257,12 +261,7 @@ static inline void lu_local_name_obj_fid(struct lu_fid *fid, __u32 oid) static inline int fid_is_root(const struct lu_fid *fid) { return unlikely((fid_seq(fid) == FID_SEQ_ROOT && - fid_oid(fid) == 1)); -} - -static inline int fid_seq_is_dot_lustre(__u64 seq) -{ - return unlikely(seq == FID_SEQ_DOT_LUSTRE); + fid_oid(fid) == FID_OID_ROOT)); } static inline int fid_is_dot_lustre(const struct lu_fid *fid) @@ -309,7 +308,7 @@ static inline int fid_is_namespace_visible(const struct lu_fid *fid) * object or not. It is caller's duty to check more if needed. */ return (!fid_is_last_id(fid) && (fid_seq_is_norm(seq) || fid_seq_is_igif(seq))) || - fid_is_root(fid) || fid_seq_is_dot_lustre(seq); + fid_is_root(fid) || fid_seq_is_dot(seq); } static inline int fid_seq_in_fldb(__u64 seq) @@ -364,7 +363,7 @@ struct lu_client_seq { struct lu_seq_range lcs_space; /* Seq related proc */ - cfs_proc_dir_entry_t *lcs_proc_dir; + struct proc_dir_entry *lcs_proc_dir; /* This holds last allocated fid in last obtained seq */ struct lu_fid lcs_fid; @@ -411,12 +410,12 @@ struct lu_server_seq { struct dt_object *lss_obj; /* Seq related proc */ - cfs_proc_dir_entry_t *lss_proc_dir; + struct proc_dir_entry *lss_proc_dir; /* LUSTRE_SEQ_SERVER or LUSTRE_SEQ_CONTROLLER */ enum lu_mgr_type lss_type; - /* Client interafce to request controller */ + /* Client interface to request controller */ struct lu_client_seq *lss_cli; /* Mutex for protecting allocation */ @@ -449,6 +448,35 @@ struct lu_server_seq { struct seq_server_site *lss_site; }; +struct seq_server_site { + struct lu_site *ss_lu; + /** + * mds number of this site. + */ + u32 ss_node_id; + /** + * Fid location database + */ + struct lu_server_fld *ss_server_fld; + struct lu_client_fld *ss_client_fld; + + /** + * Server Seq Manager + */ + struct lu_server_seq *ss_server_seq; + + /** + * Controller Seq Manager + */ + struct lu_server_seq *ss_control_seq; + struct obd_export *ss_control_exp; + + /** + * Client Seq Manager + */ + struct lu_client_seq *ss_client_seq; +}; + /* Server methods */ int seq_server_init(const struct lu_env *env, @@ -487,7 +515,7 @@ void seq_client_flush(struct lu_client_seq *seq); int seq_client_alloc_fid(const struct lu_env *env, struct lu_client_seq *seq, struct lu_fid *fid); int seq_client_get_seq(const struct lu_env *env, struct lu_client_seq *seq, - seqno_t *seqnr); + u64 *seqnr); int seq_site_fini(const struct lu_env *env, struct seq_server_site *ss); /* Fids common stuff */ int fid_is_local(const struct lu_env *env,