X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fofd%2Fofd_internal.h;h=afc210b97e4c5990e44877cba6172190bac199b3;hp=16d3d3d5616ea4c48b5813c7363d8dbf829d3919;hb=dc52a88cde1e7cea093b25fc9a15509fe0ac527a;hpb=ccabce23bd9e366c345c852f565766a799f61238 diff --git a/lustre/ofd/ofd_internal.h b/lustre/ofd/ofd_internal.h index 16d3d3d..afc210b9 100644 --- a/lustre/ofd/ofd_internal.h +++ b/lustre/ofd/ofd_internal.h @@ -106,7 +106,8 @@ struct ofd_seq { struct mutex os_create_lock; atomic_t os_refc; struct dt_object *os_lastid_obj; - unsigned long os_destroys_in_progress:1; + unsigned long os_destroys_in_progress:1, + os_last_id_synced:1; }; struct ofd_device { @@ -142,12 +143,14 @@ struct ofd_device { spinlock_t ofd_flags_lock; unsigned long ofd_raid_degraded:1, /* sync journal on writes */ - ofd_syncjournal:1, + ofd_sync_journal:1, /* Protected by ofd_lastid_rwsem. */ ofd_lastid_rebuilding:1, ofd_record_fid_accessed:1, ofd_lfsck_verify_pfid:1, - ofd_skip_lfsck:1; + ofd_skip_lfsck:1, + /* Whether to enforce T10PI checksum of RPC */ + ofd_checksum_t10pi_enforce:1; struct seq_server_site ofd_seq_site; /* the limit of SOFT_SYNC RPCs that will trigger a soft sync */ unsigned int ofd_soft_sync_limit; @@ -157,6 +160,10 @@ struct ofd_device { struct ptlrpc_thread ofd_inconsistency_thread; struct list_head ofd_inconsistency_list; spinlock_t ofd_inconsistency_lock; + /* Backwards compatibility */ + struct attribute *ofd_read_cache_enable; + struct attribute *ofd_read_cache_max_filesize; + struct attribute *ofd_write_cache_enable; }; static inline struct ofd_device *ofd_dev(struct lu_device *d) @@ -299,7 +306,7 @@ extern struct obd_ops ofd_obd_ops; int ofd_destroy_by_fid(const struct lu_env *env, struct ofd_device *ofd, const struct lu_fid *fid, int orphan); int ofd_statfs(const struct lu_env *env, struct obd_export *exp, - struct obd_statfs *osfs, __u64 max_age, __u32 flags); + struct obd_statfs *osfs, time64_t max_age, __u32 flags); int ofd_obd_disconnect(struct obd_export *exp); /* ofd_fs.c */ @@ -348,8 +355,8 @@ int ofd_txn_stop_cb(const struct lu_env *env, struct thandle *txn, void *cookie); /* lproc_ofd.c */ +int ofd_tunables_init(struct ofd_device *ofd); #ifdef CONFIG_PROC_FS -extern struct lprocfs_vars lprocfs_ofd_obd_vars[]; void ofd_stats_counter_init(struct lprocfs_stats *stats); #else static inline void ofd_stats_counter_init(struct lprocfs_stats *stats) {} @@ -424,9 +431,9 @@ extern struct ldlm_valblock_ops ofd_lvbo; /* ofd_dlm.c */ extern struct kmem_cache *ldlm_glimpse_work_kmem; -int ofd_intent_policy(struct ldlm_namespace *ns, struct ldlm_lock **lockp, - void *req_cookie, enum ldlm_mode mode, __u64 flags, - void *data); +int ofd_intent_policy(const struct lu_env *env, struct ldlm_namespace *ns, + struct ldlm_lock **lockp, void *req_cookie, + enum ldlm_mode mode, __u64 flags, void *data); static inline struct ofd_thread_info *ofd_info(const struct lu_env *env) { @@ -483,7 +490,7 @@ static inline struct ofd_thread_info *tsi2ofd_info(struct tgt_session_info *tsi) * sync on lock cancel if it is not enabled already. */ static inline void ofd_slc_set(struct ofd_device *ofd) { - if (ofd->ofd_syncjournal == 1) + if (ofd->ofd_sync_journal == 1) ofd->ofd_lut.lut_sync_lock_cancel = NEVER_SYNC_ON_CANCEL; else if (ofd->ofd_lut.lut_sync_lock_cancel == NEVER_SYNC_ON_CANCEL) ofd->ofd_lut.lut_sync_lock_cancel = ALWAYS_SYNC_ON_CANCEL;