X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Finclude%2Flustre_disk.h;h=8c3e8c831826558be0d580d58c73f3e789a7a508;hb=9364f1f12c830985b4d262c6a963bc0949facd17;hp=5add59e72d0323f3114b311e9fc59427ddecfd89;hpb=9fe6b20f03f57eb3a224dd203f74fb8fd8411c36;p=fs%2Flustre-release.git diff --git a/lustre/include/lustre_disk.h b/lustre/include/lustre_disk.h index 5add59e..8c3e8c8 100644 --- a/lustre/include/lustre_disk.h +++ b/lustre/include/lustre_disk.h @@ -67,7 +67,10 @@ /****************** persistent mount data *********************/ -/* First 4 bits reserved for SVTYPEs */ +#define LDD_F_SV_TYPE_MDT 0x0001 +#define LDD_F_SV_TYPE_OST 0x0002 +#define LDD_F_SV_TYPE_MGS 0x0004 +#define LDD_F_SV_ALL 0x0008 /** need an index assignment */ #define LDD_F_NEED_INDEX 0x0010 /** never registered */ @@ -119,7 +122,7 @@ struct lustre_disk_data { __u32 ldd_feature_incompat;/* incompatible feature flags */ __u32 ldd_config_ver; /* config rewrite count - not used */ - __u32 ldd_flags; /* SVTYPE */ + __u32 ldd_flags; /* LDD_SV_TYPE */ __u32 ldd_svindex; /* server index (0001), must match svname */ __u32 ldd_mount_type; /* target fs type LDD_MT_* */ @@ -134,21 +137,21 @@ struct lustre_disk_data { /*8192*/char ldd_params[4096]; /* key=value pairs */ }; -#define IS_MDT(data) ((data)->ldd_flags & SVTYPE_MDT) -#define IS_OST(data) ((data)->ldd_flags & SVTYPE_OST) -#define IS_MGS(data) ((data)->ldd_flags & SVTYPE_MGS) +#define IS_MDT(data) ((data)->ldd_flags & LDD_F_SV_TYPE_MDT) +#define IS_OST(data) ((data)->ldd_flags & LDD_F_SV_TYPE_OST) +#define IS_MGS(data) ((data)->ldd_flags & LDD_F_SV_TYPE_MGS) #define MT_STR(data) mt_str((data)->ldd_mount_type) /* Make the mdt/ost server obd name based on the filesystem name */ static inline int server_make_name(__u32 flags, __u16 index, char *fs, char *name) { - if (flags & (SVTYPE_MDT | SVTYPE_OST)) { - if (!(flags & SVTYPE_ALL)) + if (flags & (LDD_F_SV_TYPE_MDT | LDD_F_SV_TYPE_OST)) { + if (!(flags & LDD_F_SV_ALL)) sprintf(name, "%.8s-%s%04x", fs, - (flags & SVTYPE_MDT) ? "MDT" : "OST", + (flags & LDD_F_SV_TYPE_MDT) ? "MDT" : "OST", index); - } else if (flags & SVTYPE_MGS) { + } else if (flags & LDD_F_SV_TYPE_MGS) { sprintf(name, "MGS"); } else { CERROR("unknown server type %#x\n", flags); @@ -157,6 +160,9 @@ static inline int server_make_name(__u32 flags, __u16 index, char *fs, return 0; } +/* Get the index from the obd name */ +int server_name2index(char *svname, __u32 *idx, char **endptr); + /****************** mount command *********************/ @@ -430,6 +436,7 @@ struct lustre_sb_info { struct ll_sb_info *lsi_llsbi; /* add'l client sbi info */ struct vfsmount *lsi_srv_mnt; /* the one server mount */ cfs_atomic_t lsi_mounts; /* references to the srv_mnt */ + struct backing_dev_info bdi; /* Each client mountpoint needs own backing_dev_info */ }; #define LSI_SERVER 0x00000001