Whamcloud - gitweb
LU-14090 mgs: no local logs flag
[fs/lustre-release.git] / lustre / include / lustre_disk.h
index c34a833..4821985 100644 (file)
@@ -106,11 +106,16 @@ struct lustre_mount_data {
 #define LMD_FLG_UPDATE         0x2000  /* update parameters */
 #define LMD_FLG_HSM            0x4000  /* Start coordinator */
 #define LMD_FLG_DEV_RDONLY     0x8000  /* discard modification quitely */
+#define LMD_FLG_NO_PRECREATE   0x10000 /* do not allow OST object creation */
+#define LMD_FLG_LOCAL_RECOV    0x20000 /* force recovery for local clients */
+#define LMD_FLG_ABORT_RECOV_MDT        0x40000 /* Abort recovery between MDTs */
+#define LMD_FLG_NO_LOCAL_LOGS  0x80000 /* Use config logs from MGS */
 
 #define lmd_is_client(x) ((x)->lmd_flags & LMD_FLG_CLIENT)
 
 /****************** superblock additional info *********************/
 struct ll_sb_info;
+struct kobject;
 
 struct lustre_sb_info {
        int                       lsi_flags;
@@ -119,6 +124,7 @@ struct lustre_sb_info {
        struct ll_sb_info        *lsi_llsbi;   /* add'l client sbi info */
        struct dt_device         *lsi_dt_dev;  /* dt device to access disk fs*/
        atomic_t                  lsi_mounts;  /* references to the srv_mnt */
+       struct kobject           *lsi_kobj;
        char                      lsi_svname[MTI_NAME_MAXLEN];
        /* lsi_osd_obdname format = 'lsi->ls_svname'-osd */
        char                      lsi_osd_obdname[MTI_NAME_MAXLEN + 4];
@@ -129,9 +135,15 @@ struct lustre_sb_info {
        char                      lsi_fstype[16];
        struct backing_dev_info   lsi_bdi;     /* each client mountpoint needs
                                                  own backing_dev_info */
+       /* protect lsi_lwp_list */
+       struct mutex              lsi_lwp_mutex;
        struct list_head          lsi_lwp_list;
-       spinlock_t                lsi_lwp_lock;
-       unsigned long             lsi_lwp_started:1;
+       unsigned long             lsi_lwp_started:1,
+                                 lsi_server_started:1;
+#ifdef CONFIG_LL_ENCRYPTION
+       const struct llcrypt_operations *lsi_cop;
+       struct key               *lsi_master_keys; /* master crypto keys used */
+#endif
 };
 
 #define LSI_UMOUNT_FAILOVER              0x00200000
@@ -321,38 +333,36 @@ struct lustre_mount_info {
 
 /****************** prototypes *********************/
 
-/* obd_mount.c */
-int server_name2fsname(const char *svname, char *fsname, const char **endptr);
-#endif /* HAVE_SERVER_SUPPORT */
+/* obd_mount_server.c */
+int server_fill_super(struct super_block *sb);
+struct lustre_mount_info *server_get_mount(const char *name);
+int server_put_mount(const char *name, bool dereg_mnt);
+struct mgs_target_info;
+int server_mti_print(const char *title, struct mgs_target_info *mti);
+void server_calc_timeout(struct lustre_sb_info *lsi, struct obd_device *obd);
 
+/* obd_mount.c */
 int server_name2svname(const char *label, char *svname, const char **endptr,
                       size_t svsize);
-void obdname2fsname(const char *tgt, char *fsname, size_t buflen);
 
-#ifdef HAVE_SERVER_SUPPORT
 int server_name_is_ost(const char *svname);
 int target_name2index(const char *svname, u32 *idx, const char **endptr);
 
 int lustre_put_lsi(struct super_block *sb);
 int lustre_start_simple(char *obdname, char *type, char *uuid,
                        char *s1, char *s2, char *s3, char *s4);
-int lustre_start_mgc(struct super_block *sb);
 #endif /* HAVE_SERVER_SUPPORT */
-void lustre_register_client_fill_super(int (*cfs)(struct super_block *sb,
-                                                 struct vfsmount *mnt));
-void lustre_register_kill_super_cb(void (*cfs)(struct super_block *sb));
+int server_name2fsname(const char *svname, char *fsname, const char **endptr);
+void obdname2fsname(const char *tgt, char *fsname, size_t fslen);
+
+int lustre_start_mgc(struct super_block *sb);
 int lustre_common_put_super(struct super_block *sb);
 
-# ifdef HAVE_SERVER_SUPPORT
-/* obd_mount_server.c */
-int server_fill_super(struct super_block *sb);
-struct lustre_mount_info *server_get_mount(const char *name);
-int server_put_mount(const char *name, bool dereg_mnt);
-struct mgs_target_info;
-int server_mti_print(const char *title, struct mgs_target_info *mti);
-void server_calc_timeout(struct lustre_sb_info *lsi, struct obd_device *obd);
-# endif
+struct lustre_sb_info *lustre_init_lsi(struct super_block *sb);
+int lustre_put_lsi(struct super_block *sb);
+int lmd_parse(char *options, struct lustre_mount_data *lmd);
 
+/* mgc_request.c */
 int mgc_fsname2resid(char *fsname, struct ldlm_res_id *res_id, int type);
 int mgc_logname2resid(char *fsname, struct ldlm_res_id *res_id, int type);