Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LU-2240 mds: Assign special fid sequence to root.
[fs/lustre-release.git]
/
lustre
/
include
/
lustre_fid.h
diff --git
a/lustre/include/lustre_fid.h
b/lustre/include/lustre_fid.h
index
539e829
..
0deb5db
100644
(file)
--- a/
lustre/include/lustre_fid.h
+++ b/
lustre/include/lustre_fid.h
@@
-249,10
+249,13
@@
static inline void lu_local_name_obj_fid(struct lu_fid *fid, __u32 oid)
fid->f_ver = 0;
}
fid->f_ver = 0;
}
+/* For new FS (>= 2.4), the root FID will be changed to
+ * [FID_SEQ_ROOT:1:0], for existing FS, (upgraded to 2.4),
+ * the root FID will still be IGIF */
static inline int fid_is_root(const struct lu_fid *fid)
{
static inline int fid_is_root(const struct lu_fid *fid)
{
- return unlikely(
fid_seq(fid) == FID_SEQ_LOCAL_FILE
&&
-
fid_oid(fid) == MDD_ROOT_INDEX_OID
);
+ return unlikely(
(fid_seq(fid) == FID_SEQ_ROOT
&&
+
fid_oid(fid) == 1)
);
}
static inline int fid_is_dot_lustre(const struct lu_fid *fid)
}
static inline int fid_is_dot_lustre(const struct lu_fid *fid)
@@
-296,6
+299,12
@@
static inline int fid_is_client_visible(const struct lu_fid *fid)
return fid_is_client_mdt_visible(fid) || fid_is_idif(fid);
}
return fid_is_client_mdt_visible(fid) || fid_is_idif(fid);
}
+static inline int fid_seq_in_fldb(__u64 seq)
+{
+ return fid_seq_is_igif(seq) || fid_seq_is_norm(seq) ||
+ seq == FID_SEQ_ROOT;
+}
+
static inline void lu_last_id_fid(struct lu_fid *fid, __u64 seq)
{
if (fid_seq_is_mdt0(seq)) {
static inline void lu_last_id_fid(struct lu_fid *fid, __u64 seq)
{
if (fid_seq_is_mdt0(seq)) {