Lines Matching refs:direct
3 * direct.c - NILFS direct block pointer.
13 #include "direct.h"
17 static inline __le64 *nilfs_direct_dptrs(const struct nilfs_bmap *direct)
20 ((struct nilfs_direct_node *)direct->b_u.u_data + 1);
24 nilfs_direct_get_ptr(const struct nilfs_bmap *direct, __u64 key)
26 return le64_to_cpu(*(nilfs_direct_dptrs(direct) + key));
29 static inline void nilfs_direct_set_ptr(struct nilfs_bmap *direct,
32 *(nilfs_direct_dptrs(direct) + key) = cpu_to_le64(ptr);
35 static int nilfs_direct_lookup(const struct nilfs_bmap *direct,
42 ptr = nilfs_direct_get_ptr(direct, key);
50 static int nilfs_direct_lookup_contig(const struct nilfs_bmap *direct,
61 ptr = nilfs_direct_get_ptr(direct, key);
65 if (NILFS_BMAP_USE_VBN(direct)) {
66 dat = nilfs_bmap_get_dat(direct);
76 (ptr2 = nilfs_direct_get_ptr(direct, key + cnt)) !=
93 nilfs_direct_find_target_v(const struct nilfs_bmap *direct, __u64 key)
97 ptr = nilfs_bmap_find_target_seq(direct, key);
103 return nilfs_bmap_find_target_in_group(direct);
164 static int nilfs_direct_seek_key(const struct nilfs_bmap *direct, __u64 start,
170 if (nilfs_direct_get_ptr(direct, key) !=
179 static int nilfs_direct_last_key(const struct nilfs_bmap *direct, __u64 *keyp)
185 if (nilfs_direct_get_ptr(direct, key) !=
202 static int nilfs_direct_gather_data(struct nilfs_bmap *direct,
213 ptr = nilfs_direct_get_ptr(direct, key);
287 static int nilfs_direct_assign_v(struct nilfs_bmap *direct,
293 struct inode *dat = nilfs_bmap_get_dat(direct);
307 static int nilfs_direct_assign_p(struct nilfs_bmap *direct,
313 nilfs_direct_set_ptr(direct, key, blocknr);