Home | History | Annotate | Download | only in ext2fs

Lines Matching refs:path

59 ext4_ext_binsearch_index(struct inode *ip, struct ext4_extent_path *path,
62 struct ext4_extent_header *ehp = path->ep_header;
78 path->ep_sparse_ext.e_blk = *first_lbn;
79 path->ep_sparse_ext.e_len = first->ei_blk - *first_lbn;
80 path->ep_sparse_ext.e_start_hi = 0;
81 path->ep_sparse_ext.e_start_lo = 0;
82 path->ep_is_sparse = true;
85 path->ep_index = l - 1;
86 *first_lbn = path->ep_index->ei_blk;
87 if (path->ep_index < last)
93 ext4_ext_binsearch(struct inode *ip, struct ext4_extent_path *path, daddr_t lbn,
96 struct ext4_extent_header *ehp = path->ep_header;
114 path->ep_sparse_ext.e_blk = first_lbn;
115 path->ep_sparse_ext.e_len = first->e_blk - first_lbn;
116 path->ep_sparse_ext.e_start_hi = 0;
117 path->ep_sparse_ext.e_start_lo = 0;
118 path->ep_is_sparse = true;
121 path->ep_ext = l - 1;
122 if (path->ep_ext->e_blk + path->ep_ext->e_len <= lbn) {
123 path->ep_sparse_ext.e_blk = path->ep_ext->e_blk +
124 path->ep_ext->e_len;
126 path->ep_sparse_ext.e_len = l->e_blk -
127 path->ep_sparse_ext.e_blk;
129 path->ep_sparse_ext.e_len = last_lbn -
130 path->ep_sparse_ext.e_blk + 1;
131 path->ep_sparse_ext.e_start_hi = 0;
132 path->ep_sparse_ext.e_start_lo = 0;
133 path->ep_is_sparse = true;
182 daddr_t lbn, struct ext4_extent_path *path)
194 path->ep_header = ehp;
200 path->ep_depth = i;
201 path->ep_ext = NULL;
202 if (ext4_ext_binsearch_index(ip, path, lbn, &first_lbn,
204 return path;
207 nblk = (daddr_t)path->ep_index->ei_leaf_hi << 32 |
208 path->ep_index->ei_leaf_lo;
210 if (path->ep_bp != NULL) {
211 brelse(path->ep_bp, 0);
212 path->ep_bp = NULL;
215 &path->ep_bp);
217 brelse(path->ep_bp, 0);
218 path->ep_bp = NULL;
221 ehp = (struct ext4_extent_header *)path->ep_bp->b_data;
222 path->ep_header = ehp;
225 path->ep_depth = i;
226 path->ep_ext = NULL;
227 path->ep_index = NULL;
228 path->ep_is_sparse = false;
230 ext4_ext_binsearch(ip, path, lbn, first_lbn, last_lbn);
231 return path;