X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Finclude%2Fdt_object.h;h=03309898d5ff6a7cf4b84bcf4496fd2947264b77;hp=b5c014818bbc3ea9e6a036067fb3361fdde99825;hb=82c6e42d6137f39a1f2394b7bc6e8d600eb36181;hpb=c5165557f561c13d83b355f4118d6c4564b5d036;ds=sidebyside diff --git a/lustre/include/dt_object.h b/lustre/include/dt_object.h index b5c0148..0330989 100644 --- a/lustre/include/dt_object.h +++ b/lustre/include/dt_object.h @@ -1063,6 +1063,18 @@ struct dt_object_operations { int (*do_invalidate)(const struct lu_env *env, struct dt_object *dt); /** + * Check object stale state. + * + * OSP only. + * + * \param[in] dt object + * + * \retval true for stale object + * \retval false for not stale object + */ + bool (*do_check_stale)(struct dt_object *dt); + + /** * Declare intention to instaintiate extended layout component. * * \param[in] env execution environment @@ -2386,6 +2398,15 @@ static inline int dt_write_locked(const struct lu_env *env, return dt->do_ops->do_write_locked(env, dt); } +static inline bool dt_object_stale(struct dt_object *dt) +{ + LASSERT(dt); + LASSERT(dt->do_ops); + LASSERT(dt->do_ops->do_check_stale); + + return dt->do_ops->do_check_stale(dt); +} + static inline int dt_declare_attr_get(const struct lu_env *env, struct dt_object *dt) {