X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fofd%2Fofd_internal.h;h=f6474b2ce43af8e31efe4217f5ea93e6f7ed08a2;hb=9b0ebf78f7919a144673edadc4a95bad84fae2d3;hp=c76124ba028e1b41bc0e9110a7c7144231bba19e;hpb=493cd8088388712123e9cb1872f3bdf6f185a6aa;p=fs%2Flustre-release.git diff --git a/lustre/ofd/ofd_internal.h b/lustre/ofd/ofd_internal.h index c76124b..f6474b2 100644 --- a/lustre/ofd/ofd_internal.h +++ b/lustre/ofd/ofd_internal.h @@ -51,18 +51,6 @@ #define OFD_VALID_FLAGS (LA_TYPE | LA_MODE | LA_SIZE | LA_BLOCKS | \ LA_BLKSIZE | LA_ATIME | LA_MTIME | LA_CTIME) -/* per-client-per-object persistent state (LRU) */ -struct ofd_mod_data { - struct list_head fmd_list; /* linked to fed_mod_list */ - struct lu_fid fmd_fid; /* FID being written to */ - __u64 fmd_mactime_xid; /* xid highest {m,a,c}time setattr */ - time64_t fmd_expire; /* time when the fmd should expire */ - int fmd_refcount; /* reference counter - list holds 1 */ -}; - -#define OFD_FMD_MAX_NUM_DEFAULT 128 -#define OFD_FMD_MAX_AGE_DEFAULT (obd_timeout + 10) - #define OFD_SOFT_SYNC_LIMIT_DEFAULT 16 /* request stats */ @@ -105,8 +93,10 @@ struct ofd_seq { spinlock_t os_last_oid_lock; struct mutex os_create_lock; atomic_t os_refc; + atomic_t os_precreate_in_progress; 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 { @@ -135,10 +125,6 @@ struct ofd_device { /* checksum types supported on this node */ enum cksum_types ofd_cksum_types_supported; - /* ofd mod data: ofd_device wide values */ - int ofd_fmd_max_num; /* per ofd ofd_mod_data */ - time64_t ofd_fmd_max_age; /* time to fmd expiry */ - spinlock_t ofd_flags_lock; unsigned long ofd_raid_degraded:1, /* sync journal on writes */ @@ -147,6 +133,7 @@ struct ofd_device { ofd_lastid_rebuilding:1, ofd_record_fid_accessed:1, ofd_lfsck_verify_pfid:1, + ofd_no_precreate:1, ofd_skip_lfsck:1, /* Whether to enforce T10PI checksum of RPC */ ofd_checksum_t10pi_enforce:1; @@ -402,22 +389,6 @@ struct ofd_object *ofd_object_find_exists(const struct lu_env *env, return fo; } -/* ofd_fmd.c */ -int ofd_fmd_init(void); -void ofd_fmd_exit(void); -struct ofd_mod_data *ofd_fmd_find(struct obd_export *exp, - const struct lu_fid *fid); -struct ofd_mod_data *ofd_fmd_get(struct obd_export *exp, - const struct lu_fid *fid); -void ofd_fmd_put(struct obd_export *exp, struct ofd_mod_data *fmd); -void ofd_fmd_expire(struct obd_export *exp); -void ofd_fmd_cleanup(struct obd_export *exp); -#ifdef DO_FMD_DROP -void ofd_fmd_drop(struct obd_export *exp, const struct lu_fid *fid); -#else -#define ofd_fmd_drop(exp, fid) do {} while (0) -#endif - /* ofd_dev.c */ int ofd_fid_set_index(const struct lu_env *env, struct ofd_device *ofd, int index); @@ -508,4 +479,5 @@ static inline int ofd_validate_seq(struct obd_export *exp, __u64 seq) return 0; } + #endif /* _OFD_INTERNAL_H */