spinlock_t obt_translock;
/** Number of mounts */
__u64 obt_mount_count;
- atomic_t obt_quotachecking;
+ struct semaphore obt_quotachecking;
struct lustre_quota_ctxt obt_qctxt;
lustre_quota_version_t obt_qfmt;
struct rw_semaphore obt_rwsem;
int fo_tot_granted_clients;
obd_size fo_readcache_max_filesize;
- int fo_read_cache;
- int fo_writethrough_cache;
+ int fo_read_cache:1, /**< enable read-only cache */
+ fo_writethrough_cache:1,/**< read cache writes */
+ fo_mds_ost_sync:1; /**< MDS-OST orphan recovery*/
struct obd_import *fo_mdc_imp;
struct obd_uuid fo_mdc_uuid;
*/
struct obd_notify_upcall {
int (*onu_upcall)(struct obd_device *host, struct obd_device *watched,
- enum obd_notify_event ev, void *owner);
+ enum obd_notify_event ev, void *owner, void *data);
/* Opaque datum supplied by upper layer listener */
void *onu_owner;
};
atomic_t obd_refcount;
cfs_waitq_t obd_refcount_waitq;
struct list_head obd_exports;
+ struct list_head obd_unlinked_exports;
struct list_head obd_delayed_exports;
int obd_num_exports;
spinlock_t obd_nid_lock;
int (*o_precreate)(struct obd_export *exp);
int (*o_create)(struct obd_export *exp, struct obdo *oa,
struct lov_stripe_md **ea, struct obd_trans_info *oti);
+ int (*o_create_async)(struct obd_export *exp, struct obd_info *oinfo,
+ struct lov_stripe_md **ea,
+ struct obd_trans_info *oti);
int (*o_destroy)(struct obd_export *exp, struct obdo *oa,
struct lov_stripe_md *ea, struct obd_trans_info *oti,
struct obd_export *md_exp, void *capa);
struct ptlrpc_request *);
int (*m_clear_open_replay_data)(struct obd_export *,
struct obd_client_handle *);
- int (*m_set_lock_data)(struct obd_export *, __u64 *, void *);
+ int (*m_set_lock_data)(struct obd_export *, __u64 *, void *, __u32 *);
ldlm_mode_t (*m_lock_match)(struct obd_export *, int,
const struct lu_fid *, ldlm_type_t,