X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;ds=sidebyside;f=lustre%2Finclude%2Fobd.h;h=e670dbac8ff35ccd4c6a23bdbd75ec8efe5d57ac;hb=01138321c7ce393c189a7ed11559c0938ce9f17e;hp=666c949ba43cbb5f6decb5210feb230454a378f9;hpb=b8f31f82420bf055c38b978cf02d14215e95aae3;p=fs%2Flustre-release.git diff --git a/lustre/include/obd.h b/lustre/include/obd.h index 666c949..e670dba 100644 --- a/lustre/include/obd.h +++ b/lustre/include/obd.h @@ -173,6 +173,7 @@ struct obd_info { - while lock handling, the flags obtained on the enqueue request are set here. - while stats, the flags used for control delay/resend. + - while setattr, the flags used for distinguish punch operation */ int oi_flags; /* Lock handle specific for every OSC lock. */ @@ -229,6 +230,10 @@ struct brw_page { struct ost_server_data; +struct osd_properties { + size_t osd_max_ea_size; +}; + #define OBT_MAGIC 0xBDDECEAE /* hold common fields for "target" device */ struct obd_device_target { @@ -245,6 +250,7 @@ struct obd_device_target { cfs_rw_semaphore_t obt_rwsem; struct vfsmount *obt_vfsmnt; struct file *obt_health_check_filp; + struct osd_properties obt_osd_properties; }; /* llog contexts */ @@ -306,7 +312,7 @@ struct filter_obd { obd_size fo_readcache_max_filesize; cfs_spinlock_t fo_flags_lock; - int fo_read_cache:1, /**< enable read-only cache */ + unsigned 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*/ fo_raid_degraded:1;/**< RAID device degraded */ @@ -464,7 +470,6 @@ struct client_obd { cfs_waitq_t cl_destroy_waitq; struct mdc_rpc_lock *cl_rpc_lock; - struct mdc_rpc_lock *cl_setattr_lock; struct mdc_rpc_lock *cl_close_lock; struct osc_creator cl_oscc; @@ -583,11 +588,12 @@ struct obd_id_info { /* */ struct echo_obd { - struct obdo eo_oa; - cfs_spinlock_t eo_lock; - __u64 eo_lastino; - struct lustre_handle eo_nl_lock; - cfs_atomic_t eo_prep; + struct obd_device_target eo_obt; + struct obdo eo_oa; + cfs_spinlock_t eo_lock; + __u64 eo_lastino; + struct lustre_handle eo_nl_lock; + cfs_atomic_t eo_prep; }; struct ost_obd { @@ -1251,11 +1257,10 @@ struct md_enqueue_info { struct md_op_data mi_data; struct lookup_intent mi_it; struct lustre_handle mi_lockh; - struct dentry *mi_dentry; struct inode *mi_dir; md_enqueue_cb_t mi_cb; + __u64 mi_cbdata; unsigned int mi_generation; - void *mi_cbdata; }; struct obd_ops { @@ -1540,7 +1545,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 *, __u32 *); + int (*m_set_lock_data)(struct obd_export *, __u64 *, void *, __u64 *); ldlm_mode_t (*m_lock_match)(struct obd_export *, int, const struct lu_fid *, ldlm_type_t, @@ -1564,7 +1569,7 @@ struct md_ops { struct ldlm_enqueue_info *); int (*m_revalidate_lock)(struct obd_export *, struct lookup_intent *, - struct lu_fid *); + struct lu_fid *, __u64 *bits); /* * NOTE: If adding ops, add another LPROCFS_MD_OP_INIT() line to