/linux-master/fs/btrfs/ |
H A D | ordered-data.c | 123 * look find the first ordered struct that has this offset, otherwise 164 * The ordered extent has reserved qgroup space, release now 228 "inconsistency in ordered tree at offset %llu", 246 * Add an ordered extent to the per-inode tree. 259 * tree is given a single reference on the ordered extent that was inserted, and 262 * Return: the new ordered extent or error pointer. 284 * when an ordered extent is finished. If the list covers more than one 285 * ordered extent, it is split across multiples. 305 static bool can_finish_ordered_extent(struct btrfs_ordered_extent *ordered, argument 309 struct btrfs_inode *inode = BTRFS_I(ordered 360 btrfs_queue_ordered_fn(struct btrfs_ordered_extent *ordered) argument 371 btrfs_finish_ordered_extent(struct btrfs_ordered_extent *ordered, struct page *page, u64 file_offset, u64 len, bool uptodate) argument 670 struct btrfs_ordered_extent *ordered; local 688 struct btrfs_ordered_extent *ordered, *next; local 813 struct btrfs_ordered_extent *ordered; local 950 struct btrfs_ordered_extent *ordered; local 1083 struct btrfs_ordered_extent *ordered; local 1120 struct btrfs_ordered_extent *ordered; local 1136 btrfs_split_ordered_extent( struct btrfs_ordered_extent *ordered, u64 len) argument [all...] |
H A D | relocation.h | 20 int btrfs_reloc_clone_csums(struct btrfs_ordered_extent *ordered);
|
H A D | bio.h | 55 * - ordered extent covering the bio 61 struct btrfs_ordered_extent *ordered; member in struct:btrfs_bio::__anon1679::__anon1681
|
H A D | ordered-data.h | 50 * Different types for ordered extents, one and only one of the 4 types 51 * need to be set when creating ordered extent. 69 /* Extra status bits for ordered extents */ 81 /* We have already logged all the csums of the ordered extent */ 116 * this ordered extent so that we do not expose stale data. 147 /* a per root list of all the pending ordered extents */ 165 bool btrfs_finish_ordered_extent(struct btrfs_ordered_extent *ordered, 205 struct btrfs_ordered_extent *ordered, u64 len);
|
H A D | inode.c | 42 #include "ordered-data.h" 82 struct btrfs_ordered_extent *ordered; member in struct:btrfs_dio_data 409 * Cleanup all submitted ordered extents in specified range to handle errors 415 * to be released, which we want to happen only when finishing the ordered 437 * clear page Ordered and run the ordered extent accounting. 441 * for the page range, and the ordered extent will never finish. 455 * the ordered extent accounting for the range. 828 * This is done inside an ordered work queue, and the compression is spread 829 * across many cpus. The actual IO submission is step two, and the ordered work 1113 struct btrfs_ordered_extent *ordered; local 1385 struct btrfs_ordered_extent *ordered; local 2008 struct btrfs_ordered_extent *ordered; local 2579 btrfs_extract_ordered_extent(struct btrfs_bio *bbio, struct btrfs_ordered_extent *ordered) argument 2718 struct btrfs_ordered_extent *ordered; local 3280 btrfs_finish_ordered_io(struct btrfs_ordered_extent *ordered) argument 4734 struct btrfs_ordered_extent *ordered; local 7019 struct btrfs_ordered_extent *ordered; local 7224 struct btrfs_ordered_extent *ordered; local 8061 struct btrfs_ordered_extent *ordered; local 8200 struct btrfs_ordered_extent *ordered; local 8653 struct btrfs_ordered_extent *ordered; local 10192 struct btrfs_ordered_extent *ordered; local 10315 struct btrfs_ordered_extent *ordered; local 10435 struct btrfs_ordered_extent *ordered; local 10990 struct btrfs_ordered_extent *ordered; local [all...] |
H A D | compression.c | 30 #include "ordered-data.h" 319 btrfs_finish_ordered_extent(cb->bbio.ordered, NULL, cb->start, cb->len, 369 void btrfs_submit_compressed_write(struct btrfs_ordered_extent *ordered, argument 375 struct btrfs_inode *inode = BTRFS_I(ordered->inode); 379 ASSERT(IS_ALIGNED(ordered->file_offset, fs_info->sectorsize)); 380 ASSERT(IS_ALIGNED(ordered->num_bytes, fs_info->sectorsize)); 382 cb = alloc_compressed_bio(inode, ordered->file_offset, 385 cb->start = ordered->file_offset; 386 cb->len = ordered->num_bytes; 388 cb->compressed_len = ordered [all...] |
H A D | zoned.c | 1761 static void btrfs_rewrite_logical_zoned(struct btrfs_ordered_extent *ordered, argument 1764 struct extent_map_tree *em_tree = &BTRFS_I(ordered->inode)->extent_tree; 1767 ordered->disk_bytenr = logical; 1770 em = search_extent_mapping(em_tree, ordered->file_offset, 1771 ordered->num_bytes); 1777 static bool btrfs_zoned_split_ordered(struct btrfs_ordered_extent *ordered, argument 1782 if (!test_bit(BTRFS_ORDERED_NOCOW, &ordered->flags) && 1783 split_extent_map(BTRFS_I(ordered->inode), ordered->file_offset, 1784 ordered 1795 btrfs_finish_ordered_zoned(struct btrfs_ordered_extent *ordered) argument [all...] |
H A D | bio.c | 96 refcount_inc(&orig_bbio->ordered->refs); 97 bbio->ordered = orig_bbio->ordered; 107 btrfs_put_ordered_extent(bbio->ordered); 114 struct btrfs_ordered_extent *ordered = bbio->ordered; local 117 btrfs_put_ordered_extent(ordered); 557 * sums are attached onto the ordered extent record. 559 * At IO completion time the csums attached on the ordered extent record are 576 * sums are attached onto the ordered exten [all...] |
H A D | Makefile | 28 extent_map.o sysfs.o accessors.o xattr.o ordered-data.o \
|
H A D | compression.h | 98 void btrfs_submit_compressed_write(struct btrfs_ordered_extent *ordered,
|
H A D | subpage.h | 16 * For subpage we pack all uptodate/dirty/writeback/ordered bitmaps into 153 DECLARE_BTRFS_SUBPAGE_OPS(ordered); variable
|
H A D | subpage.c | 546 ordered, start, len); 560 ordered, start, len); 565 if (subpage_test_bitmap_all_zero(fs_info, subpage, ordered)) 622 IMPLEMENT_BTRFS_SUBPAGE_TEST_OP(ordered); variable 697 IMPLEMENT_BTRFS_PAGE_OPS(ordered, folio_set_ordered, folio_clear_ordered, 793 GET_SUBPAGE_BITMAP(subpage, subpage_info, ordered, &ordered_bitmap); 800 "start=%llu len=%u page=%llu, bitmaps uptodate=%*pbl error=%*pbl dirty=%*pbl writeback=%*pbl ordered=%*pbl checked=%*pbl",
|
H A D | tree-log.c | 2855 struct btrfs_ordered_extent *ordered; local 2860 list_for_each_entry_safe(ordered, tmp, &ctx->ordered_extents, log_list) { 2861 list_del_init(&ordered->log_list); 2862 btrfs_put_ordered_extent(ordered); 4215 * for ordered extent completion, which is where we update nbytes, it 4573 struct btrfs_ordered_extent *ordered; local 4587 list_for_each_entry(ordered, &ctx->ordered_extents, log_list) { 4588 const u64 ordered_end = ordered->file_offset + ordered->num_bytes; 4597 if (mod_end <= ordered 4897 struct btrfs_ordered_extent *ordered; local [all...] |
H A D | defrag.c | 857 * - No ordered extent exists in the page. 900 /* Wait for any existing ordered extent in the range */ 902 struct btrfs_ordered_extent *ordered; local 905 ordered = btrfs_lookup_ordered_range(inode, page_start, PAGE_SIZE); 908 if (!ordered) 912 btrfs_start_ordered_extent(ordered); 913 btrfs_put_ordered_extent(ordered); 927 * Now the page range has no ordered extent any more. Read the page to 1024 * ordered extents to complete. The deadlock would happen 1026 * locked, and starting writeback, or finishing an ordered [all...] |
H A D | space-info.c | 9 #include "ordered-data.h" 118 * running delalloc, but usually we need to wait for ordered extents to 635 * If we are doing more ordered than delalloc we need to just wait on 636 * ordered extents, otherwise we'll waste time trying to flush delalloc 658 * their jobs and thus have ordered extents set up properly. 664 * that we know we'll have ordered extents for everything and we 859 u64 ordered, delalloc; local 933 * If we have more ordered bytes than delalloc bytes then we're either 937 * of ordered extents, preemptively waiting on ordered extent 1580 u64 ordered = percpu_counter_sum_positive(&fs_info->ordered_bytes); local [all...] |
H A D | zoned.h | 53 void btrfs_finish_ordered_zoned(struct btrfs_ordered_extent *ordered);
|
H A D | file-item.c | 150 * Calculate the total size needed to allocate for an ordered sum structure 363 * No ordered extents csums, as ordered extents are only for write 730 struct btrfs_ordered_extent *ordered = bbio->ordered; local 778 btrfs_add_ordered_sum(ordered, sums); 794 btrfs_add_ordered_sum(bbio->ordered, bbio->sums); 1160 * extent items when we complete an ordered extent for a range
|
H A D | file.c | 970 * This function locks the extent and properly waits for data=ordered extents 996 struct btrfs_ordered_extent *ordered; local 1013 ordered = btrfs_lookup_ordered_range(inode, start_pos, 1015 if (ordered && 1016 ordered->file_offset + ordered->num_bytes > start_pos && 1017 ordered->file_offset <= last_pos) { 1024 btrfs_start_ordered_extent(ordered); 1025 btrfs_put_ordered_extent(ordered); 1028 if (ordered) [all...] |
H A D | extent_io.c | 95 * how many bytes are there before stripe/ordered extent boundary. 489 btrfs_finish_ordered_extent(bbio->ordered, 772 /* Limit data write bios to the ordered boundary. */ 774 struct btrfs_ordered_extent *ordered; local 776 ordered = btrfs_lookup_ordered_extent(inode, file_offset); 777 if (ordered) { 779 ordered->file_offset + 780 ordered->disk_num_bytes - file_offset); 781 bbio->ordered = ordered; [all...] |
H A D | relocation.c | 4095 * Relocation of a data block group creates ordered extents. Without 4097 * ordered extents are left. Such ordered extents can cause a deadlock 4426 * helper to add ordered checksum for data relocation. 4431 int btrfs_reloc_clone_csums(struct btrfs_ordered_extent *ordered) argument 4433 struct btrfs_inode *inode = BTRFS_I(ordered->inode); 4435 u64 disk_bytenr = ordered->file_offset + inode->index_cnt; 4441 disk_bytenr + ordered->num_bytes - 1, 4464 sums->logical = ordered->disk_bytenr + sums->logical - disk_bytenr; 4465 btrfs_add_ordered_sum(ordered, sum [all...] |
/linux-master/include/trace/events/ |
H A D | btrfs.h | 515 const struct btrfs_ordered_extent *ordered), 517 TP_ARGS(inode, ordered), 535 __entry->file_offset = ordered->file_offset; 536 __entry->start = ordered->disk_bytenr; 537 __entry->len = ordered->num_bytes; 538 __entry->disk_len = ordered->disk_num_bytes; 539 __entry->bytes_left = ordered->bytes_left; 540 __entry->flags = ordered->flags; 541 __entry->compress_type = ordered->compress_type; 542 __entry->refs = refcount_read(&ordered [all...] |
/linux-master/tools/lib/subcmd/ |
H A D | parse-options.c | 811 struct option *opt, *ordered, *group; local 817 ordered = malloc(len); 818 if (!ordered) 820 memcpy(ordered, opts, len); 823 for (opt = group = ordered; opt->type != OPTION_END; opt++) { 835 return ordered; 873 struct option *ordered; local 898 ordered = options__order(opts); 899 if (ordered) 900 opts = ordered; [all...] |
/linux-master/fs/xfs/ |
H A D | xfs_log_cil.c | 285 bool ordered = false; local 300 ordered = true; 350 if (ordered) 358 if (ordered) 466 bool ordered = false; local 478 ordered = true; 481 if (!shadow->lv_niovecs && !ordered) 490 if (ordered) 511 if (ordered) { 512 /* track as an ordered logve [all...] |
H A D | xfs_buf_item.c | 708 bool ordered = bip->bli_flags & XFS_BLI_ORDERED; local 718 * except for ordered buffers, where only the bli should be dirty. 720 ASSERT((!ordered && dirty == xfs_buf_item_dirty_format(bip)) || 721 (ordered && dirty && !xfs_buf_item_dirty_format(bip)));
|
/linux-master/include/linux/ |
H A D | workqueue.h | 198 * @ordered: work items must be executed one by one in queueing order 200 bool ordered; member in struct:workqueue_attrs 399 __WQ_ORDERED = 1 << 17, /* internal: workqueue is ordered */ 503 * alloc_ordered_workqueue - allocate an ordered workqueue 508 * Allocate an ordered workqueue. An ordered workqueue executes at
|