Lines Matching refs:rw
42 struct dfs_ref_walk *rw;
44 rw = kmalloc(sizeof(*rw), GFP_KERNEL);
45 if (!rw)
47 return rw;
50 static inline void ref_walk_init(struct dfs_ref_walk *rw)
52 memset(rw, 0, sizeof(*rw));
53 ref_walk_cur(rw) = ref_walk_start(rw);
64 static inline void ref_walk_free(struct dfs_ref_walk *rw)
66 struct dfs_ref *ref = ref_walk_start(rw);
68 for (; ref <= ref_walk_end(rw); ref++)
70 kfree(rw);
73 static inline int ref_walk_advance(struct dfs_ref_walk *rw)
75 struct dfs_ref *ref = ref_walk_cur(rw) + 1;
77 if (ref > ref_walk_end(rw))
80 ref_walk_cur(rw) = ref;
85 ref_walk_next_tgt(struct dfs_ref_walk *rw)
88 struct dfs_ref *ref = ref_walk_cur(rw);
98 static inline int ref_walk_get_tgt(struct dfs_ref_walk *rw,
102 return dfs_cache_get_tgt_referral(ref_walk_path(rw) + 1,
103 ref_walk_tit(rw), tgt);
106 static inline int ref_walk_num_tgts(struct dfs_ref_walk *rw)
108 return dfs_cache_get_nr_tgts(ref_walk_tl(rw));
111 static inline void ref_walk_set_tgt_hint(struct dfs_ref_walk *rw)
113 dfs_cache_noreq_update_tgthint(ref_walk_path(rw) + 1,
114 ref_walk_tit(rw));