X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fosd-ldiskfs%2Fosd_internal.h;h=ad53ec60d98a819ae86224364d92f1904fbef209;hp=fba02d0985c18b3d0051f92c120a838a2e97790a;hb=f37bce8a573dfc5aac1b9f51f4d5c8314ba05d30;hpb=4f18e08099e51b682f6acb1cf9fea6d7d45f5fd7 diff --git a/lustre/osd-ldiskfs/osd_internal.h b/lustre/osd-ldiskfs/osd_internal.h index fba02d0..ad53ec6 100644 --- a/lustre/osd-ldiskfs/osd_internal.h +++ b/lustre/osd-ldiskfs/osd_internal.h @@ -798,10 +798,11 @@ char *osd_lf_fid2name(const struct lu_fid *fid); int osd_scrub_start(const struct lu_env *env, struct osd_device *dev, __u32 flags); void osd_scrub_stop(struct osd_device *dev); -int osd_scrub_setup(const struct lu_env *env, struct osd_device *dev); +int osd_scrub_setup(const struct lu_env *env, struct osd_device *dev, + bool restored); void osd_scrub_cleanup(const struct lu_env *env, struct osd_device *dev); -int osd_oii_insert(struct osd_device *dev, struct osd_idmap_cache *oic, - int insert); +int osd_oii_insert(struct osd_device *dev, const struct lu_fid *fid, + struct osd_inode_id *id, int insert); int osd_oii_lookup(struct osd_device *dev, const struct lu_fid *fid, struct osd_inode_id *id); void osd_scrub_dump(struct seq_file *m, struct osd_device *dev); @@ -828,6 +829,13 @@ int osd_lookup_in_remote_parent(struct osd_thread_info *oti, int osd_ost_seq_exists(struct osd_thread_info *info, struct osd_device *osd, __u64 seq); +int osd_scrub_refresh_mapping(struct osd_thread_info *info, + struct osd_device *dev, + const struct lu_fid *fid, + const struct osd_inode_id *id, + int ops, bool force, + enum oi_check_flags flags, bool *exist); + /* osd_quota_fmt.c */ int walk_tree_dqentry(const struct lu_env *env, struct osd_object *obj, int type, uint blk, int depth, uint index, @@ -1068,7 +1076,7 @@ static inline void osd_object_put(const struct lu_env *env, static inline int osd_object_is_root(const struct osd_object *obj) { - return osd_sb(osd_obj2dev(obj))->s_root->d_inode == obj->oo_inode; + return obj->oo_inode && is_root_inode(obj->oo_inode); } static inline struct osd_object *osd_obj(const struct lu_object *o)