Lines Matching defs:extent

112 	 * after finding each extent to clone.
162 * Deal with cloning of inline extents. We try to copy the inline extent from
164 * copy the inline extent's data into the respective page of the inode.
210 * inline extent's data to the page.
221 * If it's an inline extent replace it with the source inline
222 * extent, otherwise copy the source inline extent data into
234 * We have no extent items, or we have an extent at offset 0 which may
240 * extent or an inline extent larger then the one we want to
241 * clone. Deal with all these cases by copying the inline extent
253 * If we end up here it means were copy the inline extent into a leaf
255 * extent item in the destination root.
257 * 1 unit - adjusting old extent (we may have to split it)
258 * 1 unit - add new extent
294 * No transaction here means we copied the inline extent into a
317 * therefore cause a deadlock if writeback of an inline extent needs to
318 * write to the same leaf or an ordered extent completion needs to write
372 struct btrfs_file_extent_item *extent;
388 * First search, if no extent item that starts at offset off was
389 * found but the previous item is an extent item, it's possible
419 extent = btrfs_item_ptr(leaf, slot,
421 extent_gen = btrfs_file_extent_generation(leaf, extent);
422 comp = btrfs_file_extent_compression(leaf, extent);
423 type = btrfs_file_extent_type(leaf, extent);
426 disko = btrfs_file_extent_disk_bytenr(leaf, extent);
427 diskl = btrfs_file_extent_disk_num_bytes(leaf, extent);
428 datao = btrfs_file_extent_offset(leaf, extent);
429 datal = btrfs_file_extent_num_bytes(leaf, extent);
432 datal = btrfs_file_extent_ram_bytes(leaf, extent);
436 * The first search might have left us at an extent item that
442 * extent completion for a file range that is outside our source
443 * range, but that range was part of a file extent item that
468 * Deal with a hole that doesn't have an extent item that
484 * | ------------- extent ------------- |
515 * never clone only parts of an inline extent, since all
539 * Whenever we share an extent we update the last_reflink_trans
542 * overlapping ranges (because some extent items might refer
543 * only to sections of the original extent). For the destination
548 * extent that is not a hole or an inline extent, to deal with
590 * an extent map defining a hole, because the range starts at or
598 * replaced file extent items.
733 * extent that no longer exists (writeback completed right after
734 * we found the previous extent covering eof and before we
755 * We may have copied an inline extent into a page of the destination
815 * to complete so that new file extent items are in the fs tree.
826 * work at the whole extent level.
833 * reference of the extent. We could do better by only flushing NOCOW
836 * Also we don't need to check ASYNC_EXTENT, as async extent will be