const char *fo_fstype;
struct super_block *fo_sb;
struct vfsmount *fo_vfsmnt;
+ struct lvfs_obd_ctxt *fo_lvfs_ctxt;
int fo_group_count;
struct dentry *fo_dentry_O; /* the "O"bject directory dentry */
struct obd_service_time cl_enter_stime;
struct mdc_rpc_lock *cl_rpc_lock;
- struct mdc_rpc_lock *cl_setattr_lock;
+ struct mdc_rpc_lock *cl_setattr_lock;
+ struct mdc_rpc_lock *cl_close_lock;
struct osc_creator cl_oscc;
+ int cl_async:1;
};
/* Like a client, with some hangers-on. Keep mc_client_obd first so that we
struct super_block *mds_sb;
struct vfsmount *mds_vfsmnt;
struct dentry *mds_id_de;
+ struct lvfs_obd_ctxt *mds_lvfs_ctxt;
int mds_max_mdsize;
int mds_max_cookiesize;
struct file *mds_rcvd_filp;
gid_t mds_squash_gid;
ptl_nid_t mds_nosquash_nid;
atomic_t mds_real_clients;
+ atomic_t mds_open_count;
struct dentry *mds_id_dir;
int mds_obd_type;
struct dentry *mds_unnamed_dir; /* for mdt_obd_create only */
int master_group;
struct cmobd_write_service *write_srv;
};
-
+
+struct conf_obd {
+ struct super_block *cfobd_sb;
+ struct vfsmount *cfobd_vfsmnt;
+ struct dentry *cfobd_logs_dir;
+ struct dentry *cfobd_objects_dir;
+ struct dentry *cfobd_pending_dir;
+ struct llog_handle *cfobd_cfg_llh;
+ struct lvfs_obd_ctxt *cfobd_lvfs_ctxt;
+};
+
struct lov_tgt_desc {
struct obd_uuid uuid;
__u32 ltd_gen;
struct lov_desc desc;
int bufsize;
int refcount;
- int lo_catalog_loaded:1;
+ int lo_catalog_loaded:1, async:1;
struct semaphore lov_llog_sem;
unsigned long lov_connect_flags;
struct lov_tgt_desc *tgts;
struct mds_obd mds;
struct client_obd cli;
struct ost_obd ost;
- struct echo_client_obd echo_client;
+ struct echo_client_obd echocli;
struct echo_obd echo;
struct recovd_obd recovd;
struct lov_obd lov;
struct mgmtcli_obd mgmtcli;
struct lmv_obd lmv;
struct cm_obd cm;
+ struct conf_obd conf;
} u;
/* fields used by LProcFS */
int (*o_teardown_async_page)(struct obd_export *exp,
struct lov_stripe_md *lsm,
struct lov_oinfo *loi, void *cookie);
+ int (*o_adjust_kms)(struct obd_export *exp, struct lov_stripe_md *lsm,
+ obd_off size, int shrink);
int (*o_punch)(struct obd_export *exp, struct obdo *oa,
struct lov_stripe_md *ea, obd_size start,
obd_size end, struct obd_trans_info *oti);