struct obd_info {
/* OBD_STATFS_* flags */
__u64 oi_flags;
+ struct obd_device *oi_obd;
+ struct lu_tgt_desc *oi_tgt;
/* statfs data specific for every OSC, if needed at all. */
struct obd_statfs *oi_osfs;
/* An update callback which is called to update some data on upper
__u64 ec_unique;
};
-/* Generic subset of OSTs */
-struct ost_pool {
- __u32 *op_array; /* array of index of
- lov_obd->lov_tgts */
- unsigned int op_count; /* number of OSTs in the array */
- unsigned int op_size; /* allocated size of lp_array */
- struct rw_semaphore op_rw_sem; /* to protect ost_pool use */
-};
-
/* allow statfs data caching for 1 second */
#define OBD_STATFS_CACHE_SECONDS 1
-struct lov_tgt_desc {
- struct list_head ltd_kill;
- struct obd_uuid ltd_uuid;
- struct obd_device *ltd_obd;
- struct obd_export *ltd_exp;
- __u32 ltd_gen;
- __u32 ltd_index; /* index in lov_obd->tgts */
- unsigned long ltd_active:1,/* is this target up for requests */
- ltd_activate:1,/* should target be activated */
- ltd_reap:1; /* should this target be deleted */
-};
+#define lov_tgt_desc lu_tgt_desc
struct lov_md_tgt_desc {
struct obd_device *lmtd_mdc;
struct kobject *lov_tgts_kobj;
};
-struct lmv_tgt_desc {
- struct obd_uuid ltd_uuid;
- struct obd_device *ltd_obd;
- struct obd_export *ltd_exp;
- __u32 ltd_idx;
- struct mutex ltd_fid_mutex;
- unsigned long ltd_active:1; /* target up for requests */
-};
+#define lmv_tgt_desc lu_tgt_desc
struct lmv_obd {
struct lu_client_fld lmv_fld;
struct obd_connect_data conn_data;
struct kobject *lmv_tgts_kobj;
void *lmv_cache;
+
+ struct lu_qos lmv_qos;
+ __u32 lmv_qos_rr_index;
};
/* Minimum sector size is 512 */
CLI_MIGRATE = 1 << 4,
};
+enum md_op_code {
+ LUSTRE_OPC_MKDIR = 0,
+ LUSTRE_OPC_SYMLINK = 1,
+ LUSTRE_OPC_MKNOD = 2,
+ LUSTRE_OPC_CREATE = 3,
+ LUSTRE_OPC_ANY = 5,
+};
+
/**
* GETXATTR is not included as only a couple of fields in the reply body
* is filled, but not FID which is needed for common intent handling in
struct lu_fid op_fid4; /* to the operation locks. */
u32 op_mds; /* what mds server open will go to */
__u32 op_mode;
+ enum md_op_code op_code;
struct lustre_handle op_open_handle;
s64 op_mod_time;
const char *op_name;
struct rw_semaphore *op_mea2_sem;
struct lmv_stripe_md *op_mea1;
struct lmv_stripe_md *op_mea2;
+ struct lmv_stripe_md *op_default_mea1; /* default LMV */
__u32 op_suppgids[2];
__u32 op_fsuid;
__u32 op_fsgid;
void *op_file_secctx;
__u32 op_file_secctx_size;
- /* default stripe offset */
- __u32 op_default_stripe_offset;
-
__u32 op_projid;
/* Used by readdir */
struct lmv_stripe_md *lmv;
struct lmv_foreign_md *lfm;
};
+ struct lmv_stripe_md *default_lmv;
#ifdef CONFIG_FS_POSIX_ACL
struct posix_acl *posix_acl;
#endif