X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Finclude%2Fobd.h;h=3848808355b36612b9f14810de55a579be9f5efe;hp=36d8c017e1549d9e7f2390b6d6382c80fda3915c;hb=32becabb43b6e8f21c030c23c01c3f02e351eaea;hpb=0dd19e4fcdcdf435840bdb182b112f02658af32d diff --git a/lustre/include/obd.h b/lustre/include/obd.h index 36d8c01..3848808 100644 --- a/lustre/include/obd.h +++ b/lustre/include/obd.h @@ -261,7 +261,7 @@ struct obd_device_target { 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; @@ -329,8 +329,9 @@ struct filter_obd { 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; @@ -945,7 +946,7 @@ enum config_flags { */ 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; }; @@ -1046,6 +1047,7 @@ struct obd_device { 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; @@ -1319,6 +1321,9 @@ struct obd_ops { 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); @@ -1531,7 +1536,7 @@ struct md_ops { 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,