Lines Matching defs:lblk
149 static int __es_remove_extent(struct inode *inode, ext4_lblk_t lblk,
155 static int __revise_pending(struct inode *inode, ext4_lblk_t lblk,
214 ext4_lblk_t lblk)
221 if (lblk < es->es_lblk)
223 else if (lblk > ext4_es_end(es))
229 if (es && lblk < es->es_lblk)
232 if (es && lblk > ext4_es_end(es)) {
248 * @lblk - logical block defining start of range
252 * Find the first extent within the block range specified by @lblk and @end
261 ext4_lblk_t lblk, ext4_lblk_t end,
269 WARN_ON(end < lblk);
276 if (es1 && in_range(lblk, es1->es_lblk, es1->es_len)) {
278 lblk, es1->es_lblk, es1->es_len,
283 es1 = __es_tree_search(&tree->root, lblk);
312 ext4_lblk_t lblk, ext4_lblk_t end,
320 trace_ext4_es_find_extent_range_enter(inode, lblk);
323 __es_find_extent_range(inode, matching_fn, lblk, end, es);
335 * @lblk - logical block defining start of range
366 ext4_lblk_t lblk, ext4_lblk_t end)
374 ret = __es_scan_range(inode, matching_fn, lblk, end);
386 * @lblk - logical block in cluster to be searched
388 * Returns true if at least one extent in the cluster containing @lblk
396 ext4_lblk_t lblk)
401 lblk_start = EXT4_LBLK_CMASK(sbi, lblk);
412 ext4_lblk_t lblk)
420 ret = __es_scan_clu(inode, matching_fn, lblk);
491 ext4_lblk_t lblk, ext4_lblk_t len, ext4_fsblk_t pblk)
493 es->es_lblk = lblk;
854 int ext4_es_insert_extent(struct inode *inode, ext4_lblk_t lblk,
859 ext4_lblk_t end = lblk + len - 1;
871 lblk, len, pblk, status, inode->i_ino);
876 BUG_ON(end < lblk);
882 " cause data loss.", lblk, len);
886 newes.es_lblk = lblk;
906 err1 = __es_remove_extent(inode, lblk, end, NULL, es1);
929 err3 = __revise_pending(inode, lblk, len, &pr);
951 void ext4_es_cache_extent(struct inode *inode, ext4_lblk_t lblk,
957 ext4_lblk_t end = lblk + len - 1;
962 newes.es_lblk = lblk;
970 BUG_ON(end < lblk);
974 es = __es_tree_search(&EXT4_I(inode)->i_es_tree.root, lblk);
987 int ext4_es_lookup_extent(struct inode *inode, ext4_lblk_t lblk,
1000 trace_ext4_es_lookup_extent_enter(inode, lblk);
1001 es_debug("lookup extent in block %u\n", lblk);
1009 if (es1 && in_range(lblk, es1->es_lblk, es1->es_len)) {
1011 lblk, es1->es_lblk, es1->es_len);
1019 if (lblk < es1->es_lblk)
1021 else if (lblk > ext4_es_end(es1))
1073 * @lblk - first block in range
1079 static void init_rsvd(struct inode *inode, ext4_lblk_t lblk,
1095 if (lblk > es->es_lblk) {
1113 * @lblk - first block in range
1121 static void count_rsvd(struct inode *inode, ext4_lblk_t lblk, long len,
1139 i = (lblk < es->es_lblk) ? es->es_lblk : lblk;
1140 end = lblk + (ext4_lblk_t) len - 1;
1149 /* update the last lblk in the region seen so far */
1363 * @lblk - first block in range
1373 static int __es_remove_extent(struct inode *inode, ext4_lblk_t lblk,
1390 es = __es_tree_search(&tree->root, lblk);
1399 init_rsvd(inode, lblk, es, &rc);
1405 len1 = lblk > es->es_lblk ? lblk - es->es_lblk : 0;
1448 count_rsvd(inode, lblk, orig_es.es_len - len1,
1496 * @lblk - first block in range
1502 int ext4_es_remove_extent(struct inode *inode, ext4_lblk_t lblk,
1513 trace_ext4_es_remove_extent(inode, lblk, len);
1515 lblk, len, inode->i_ino);
1520 end = lblk + len - 1;
1521 BUG_ON(end < lblk);
1532 err = __es_remove_extent(inode, lblk, end, &reserved, es);
1943 * @lblk - logical block in the cluster to be added
1949 static int __insert_pending(struct inode *inode, ext4_lblk_t lblk,
1960 lclu = EXT4_B2C(sbi, lblk);
2000 * @lblk - logical block in the pending cluster reservation to be removed
2004 static void __remove_pending(struct inode *inode, ext4_lblk_t lblk)
2010 pr = __get_pending(inode, EXT4_B2C(sbi, lblk));
2023 * @lblk - logical block in the pending cluster reservation to be removed
2027 void ext4_remove_pending(struct inode *inode, ext4_lblk_t lblk)
2032 __remove_pending(inode, lblk);
2041 * @lblk - logical block in the cluster
2046 bool ext4_is_pending(struct inode *inode, ext4_lblk_t lblk)
2053 ret = (bool)(__get_pending(inode, EXT4_B2C(sbi, lblk)) != NULL);
2065 * @lblk - logical block to be added
2071 int ext4_es_insert_delayed_block(struct inode *inode, ext4_lblk_t lblk,
2084 lblk, inode->i_ino);
2086 newes.es_lblk = lblk;
2102 err1 = __es_remove_extent(inode, lblk, lblk, NULL, es1);
2123 err3 = __insert_pending(inode, lblk, &pr);
2202 * @lblk - logical block defining start of range
2207 unsigned int ext4_es_delayed_clu(struct inode *inode, ext4_lblk_t lblk,
2217 end = lblk + len - 1;
2218 WARN_ON(end < lblk);
2222 n = __es_delayed_clu(inode, lblk, end);
2237 * @lblk - logical block defining the start of range
2245 static int __revise_pending(struct inode *inode, ext4_lblk_t lblk,
2250 ext4_lblk_t end = lblk + len - 1;
2271 if (EXT4_B2C(sbi, lblk) == EXT4_B2C(sbi, end)) {
2272 first = EXT4_LBLK_CMASK(sbi, lblk);
2273 if (first != lblk)
2275 first, lblk - 1);
2295 first = EXT4_LBLK_CMASK(sbi, lblk);
2296 if (first != lblk)
2298 first, lblk - 1);