void obd_zombie_impexp_stop(void);
void obd_zombie_impexp_cull(void);
void obd_zombie_barrier(void);
+void obd_exports_barrier(struct obd_device *obd);
/* obd_config.c */
int class_process_config(struct lustre_cfg *lcfg);
const char *scope, const void *source);
void class_decref(struct obd_device *obd,
const char *scope, const void *source);
+void dump_exports(struct obd_device *obd);
/*obdecho*/
#ifdef LPROCFS
void class_disconnect_exports(struct obd_device *obddev);
int class_manual_cleanup(struct obd_device *obd);
void class_disconnect_stale_exports(struct obd_device *,
- int (*test_export)(struct obd_export *),
- enum obd_option flags);
-
+ int (*test_export)(struct obd_export *));
static inline enum obd_option exp_flags_from_obd(struct obd_device *obd)
{
return ((obd->obd_fail ? OBD_OPT_FAILOVER : 0) |
RETURN(rc);
}
+static inline int obd_create_async(struct obd_export *exp,
+ struct obd_info *oinfo,
+ struct lov_stripe_md **ea,
+ struct obd_trans_info *oti)
+{
+ int rc;
+ ENTRY;
+
+ EXP_CHECK_DT_OP(exp, create_async);
+ EXP_COUNTER_INCREMENT(exp, create_async);
+
+ rc = OBP(exp->exp_obd, create_async)(exp, oinfo, ea, oti);
+ RETURN(rc);
+}
+
static inline int obd_create(struct obd_export *exp, struct obdo *obdo,
struct lov_stripe_md **ea,
struct obd_trans_info *oti)
*/
onu = &observer->obd_upcall;
if (onu->onu_upcall != NULL)
- rc2 = onu->onu_upcall(observer, observed, ev, onu->onu_owner);
+ rc2 = onu->onu_upcall(observer, observed, ev,
+ onu->onu_owner, NULL);
else
rc2 = 0;
}
static inline int md_set_lock_data(struct obd_export *exp,
- __u64 *lockh, void *data)
+ __u64 *lockh, void *data, __u32 *bits)
{
ENTRY;
EXP_CHECK_MD_OP(exp, set_lock_data);
EXP_MD_COUNTER_INCREMENT(exp, set_lock_data);
- RETURN(MDP(exp->exp_obd, set_lock_data)(exp, lockh, data));
+ RETURN(MDP(exp->exp_obd, set_lock_data)(exp, lockh, data, bits));
}
static inline int md_cancel_unused(struct obd_export *exp,