Lines Matching refs:rw
99 struct dfs_ref_walk *rw, in parse_dfs_target() argument
103 const char *fpath = ref_walk_fpath(rw) + 1; in parse_dfs_target()
105 rc = ref_walk_get_tgt(rw, tgt); in parse_dfs_target()
113 struct dfs_ref_walk *rw) in set_ref_paths() argument
134 ref_walk_path(rw) = ref_path; in set_ref_paths()
135 ref_walk_fpath(rw) = full_path; in set_ref_paths()
140 struct dfs_ref_walk *rw) in __dfs_referral_walk() argument
149 if (ref_walk_empty(rw)) { in __dfs_referral_walk()
150 rc = dfs_get_referral(mnt_ctx, ref_walk_path(rw) + 1, in __dfs_referral_walk()
151 NULL, ref_walk_tl(rw)); in __dfs_referral_walk()
158 if (!ref_walk_num_tgts(rw)) { in __dfs_referral_walk()
164 while (ref_walk_next_tgt(rw)) { in __dfs_referral_walk()
165 rc = parse_dfs_target(ctx, rw, &tgt); in __dfs_referral_walk()
170 rc = get_session(mnt_ctx, ref_walk_path(rw)); in __dfs_referral_walk()
176 ref_walk_set_tgt_hint(rw); in __dfs_referral_walk()
194 rc = ref_walk_advance(rw); in __dfs_referral_walk()
196 rc = set_ref_paths(mnt_ctx, &tgt, rw); in __dfs_referral_walk()
205 } while (rc && ref_walk_descend(rw)); in __dfs_referral_walk()
214 struct dfs_ref_walk *rw; in dfs_referral_walk() local
217 rw = ref_walk_alloc(); in dfs_referral_walk()
218 if (IS_ERR(rw)) in dfs_referral_walk()
219 return PTR_ERR(rw); in dfs_referral_walk()
221 ref_walk_init(rw); in dfs_referral_walk()
222 rc = set_ref_paths(mnt_ctx, NULL, rw); in dfs_referral_walk()
224 rc = __dfs_referral_walk(mnt_ctx, rw); in dfs_referral_walk()
225 ref_walk_free(rw); in dfs_referral_walk()