Lines Matching full:rw
46 struct dfs_ref_walk *rw; in ref_walk_alloc() local
48 rw = kmalloc(sizeof(*rw), GFP_KERNEL); in ref_walk_alloc()
49 if (!rw) in ref_walk_alloc()
51 return rw; in ref_walk_alloc()
54 static inline void ref_walk_init(struct dfs_ref_walk *rw) in ref_walk_init() argument
56 memset(rw, 0, sizeof(*rw)); in ref_walk_init()
57 ref_walk_cur(rw) = ref_walk_start(rw); in ref_walk_init()
70 static inline void ref_walk_free(struct dfs_ref_walk *rw) in ref_walk_free() argument
74 if (!rw) in ref_walk_free()
77 for (ref = ref_walk_start(rw); ref <= ref_walk_end(rw); ref++) in ref_walk_free()
79 kfree(rw); in ref_walk_free()
82 static inline int ref_walk_advance(struct dfs_ref_walk *rw) in ref_walk_advance() argument
84 struct dfs_ref *ref = ref_walk_cur(rw) + 1; in ref_walk_advance()
86 if (ref > ref_walk_end(rw)) in ref_walk_advance()
89 ref_walk_cur(rw) = ref; in ref_walk_advance()
94 ref_walk_next_tgt(struct dfs_ref_walk *rw) in ref_walk_next_tgt() argument
97 struct dfs_ref *ref = ref_walk_cur(rw); in ref_walk_next_tgt()
107 static inline int ref_walk_get_tgt(struct dfs_ref_walk *rw, in ref_walk_get_tgt() argument
111 return dfs_cache_get_tgt_referral(ref_walk_path(rw) + 1, in ref_walk_get_tgt()
112 ref_walk_tit(rw), tgt); in ref_walk_get_tgt()
115 static inline int ref_walk_num_tgts(struct dfs_ref_walk *rw) in ref_walk_num_tgts() argument
117 return dfs_cache_get_nr_tgts(ref_walk_tl(rw)); in ref_walk_num_tgts()
120 static inline void ref_walk_set_tgt_hint(struct dfs_ref_walk *rw) in ref_walk_set_tgt_hint() argument
122 dfs_cache_noreq_update_tgthint(ref_walk_path(rw) + 1, in ref_walk_set_tgt_hint()
123 ref_walk_tit(rw)); in ref_walk_set_tgt_hint()
126 static inline void ref_walk_set_tcon(struct dfs_ref_walk *rw, in ref_walk_set_tcon() argument
129 struct dfs_ref *ref = ref_walk_start(rw); in ref_walk_set_tcon()
131 for (; ref <= ref_walk_cur(rw); ref++) { in ref_walk_set_tcon()