Lines Matching full:rw

47 	struct dfs_ref_walk *rw;  in ref_walk_alloc()  local
49 rw = kmalloc(sizeof(*rw), GFP_KERNEL); in ref_walk_alloc()
50 if (!rw) in ref_walk_alloc()
52 return rw; in ref_walk_alloc()
55 static inline void ref_walk_init(struct dfs_ref_walk *rw, in ref_walk_init() argument
58 memset(rw, 0, sizeof(*rw)); in ref_walk_init()
59 rw->mnt_ctx = mnt_ctx; in ref_walk_init()
60 ref_walk_cur(rw) = ref_walk_start(rw); in ref_walk_init()
73 static inline void ref_walk_free(struct dfs_ref_walk *rw) in ref_walk_free() argument
77 if (!rw) in ref_walk_free()
80 for (ref = ref_walk_start(rw); ref <= ref_walk_end(rw); ref++) in ref_walk_free()
82 kfree(rw); in ref_walk_free()
85 static inline int ref_walk_advance(struct dfs_ref_walk *rw) in ref_walk_advance() argument
87 struct dfs_ref *ref = ref_walk_cur(rw) + 1; in ref_walk_advance()
89 if (ref > ref_walk_end(rw)) in ref_walk_advance()
92 ref_walk_cur(rw) = ref; in ref_walk_advance()
97 ref_walk_next_tgt(struct dfs_ref_walk *rw) in ref_walk_next_tgt() argument
99 struct dfs_ref *ref = ref_walk_cur(rw); in ref_walk_next_tgt()
118 static inline int ref_walk_get_tgt(struct dfs_ref_walk *rw, in ref_walk_get_tgt() argument
122 return dfs_cache_get_tgt_referral(ref_walk_path(rw) + 1, in ref_walk_get_tgt()
123 ref_walk_tit(rw), tgt); in ref_walk_get_tgt()
126 static inline void ref_walk_set_tgt_hint(struct dfs_ref_walk *rw) in ref_walk_set_tgt_hint() argument
128 dfs_cache_noreq_update_tgthint(ref_walk_path(rw) + 1, in ref_walk_set_tgt_hint()
129 ref_walk_tit(rw)); in ref_walk_set_tgt_hint()
132 static inline void ref_walk_set_tcon(struct dfs_ref_walk *rw, in ref_walk_set_tcon() argument
135 struct dfs_ref *ref = ref_walk_start(rw); in ref_walk_set_tcon()
137 for (; ref <= ref_walk_cur(rw); ref++) { in ref_walk_set_tcon()
145 static inline void ref_walk_mark_end(struct dfs_ref_walk *rw) in ref_walk_mark_end() argument
147 struct dfs_ref *ref = ref_walk_cur(rw) - 1; in ref_walk_mark_end()
149 WARN_ON_ONCE(ref < ref_walk_start(rw)); in ref_walk_mark_end()