/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 | 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 1384 struct btrfs_ordered_extent *ordered; local 2007 struct btrfs_ordered_extent *ordered; local 2578 btrfs_extract_ordered_extent(struct btrfs_bio *bbio, struct btrfs_ordered_extent *ordered) argument 2717 struct btrfs_ordered_extent *ordered; local 3279 btrfs_finish_ordered_io(struct btrfs_ordered_extent *ordered) argument 4733 struct btrfs_ordered_extent *ordered; local 7018 struct btrfs_ordered_extent *ordered; local 7223 struct btrfs_ordered_extent *ordered; local 8060 struct btrfs_ordered_extent *ordered; local 8199 struct btrfs_ordered_extent *ordered; local 8652 struct btrfs_ordered_extent *ordered; local 10191 struct btrfs_ordered_extent *ordered; local 10314 struct btrfs_ordered_extent *ordered; local 10434 struct btrfs_ordered_extent *ordered; local 10989 struct btrfs_ordered_extent *ordered; local [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 | 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 | zoned.h | 53 void btrfs_finish_ordered_zoned(struct btrfs_ordered_extent *ordered);
|
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 | 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 | subpage.h | 16 * For subpage we pack all uptodate/dirty/writeback/ordered bitmaps into 153 DECLARE_BTRFS_SUBPAGE_OPS(ordered); variable
|
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 | 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...] |
H A D | relocation.h | 20 int btrfs_reloc_clone_csums(struct btrfs_ordered_extent *ordered);
|
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 | 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 | 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 | disk-io.c | 4279 * After we parked the cleaner kthread, ordered extents may have 4287 * So wait for all ongoing ordered extents to complete and then run 4289 * can either create new ordered extents nor create delayed iputs 4293 * it waits for BTRFS_ORDERED_COMPLETE to be set on an ordered extent, 4500 struct btrfs_ordered_extent *ordered; local 4504 * This will just short circuit the ordered completion stuff which will 4505 * make sure the ordered extent gets properly cleaned up. 4507 list_for_each_entry(ordered, &root->ordered_extents, 4509 set_bit(BTRFS_ORDERED_IOERR, &ordered->flags); 4536 * get sync() from the umount, so we need to make sure any ordered [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 | compression.h | 98 void btrfs_submit_compressed_write(struct btrfs_ordered_extent *ordered,
|
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 | 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...] |
/linux-master/kernel/ |
H A D | workqueue.c | 489 /* I: attributes used when instantiating ordered pools on demand */ 1842 * This function should only be called for ordered workqueues where only the 4522 to->ordered = from->ordered; 4532 attrs->ordered = false; 4941 * For ordered workqueue with a plugged dfl_pwq, restart it now. 5155 if (new_attrs->ordered) { 5173 * For initialized ordered workqueues, there should only be one pwq 5299 if (!(wq->flags & WQ_UNBOUND) || wq->unbound_attrs->ordered) 5766 /* disallow meddling with max_active for ordered workqueue [all...] |
/linux-master/fs/f2fs/ |
H A D | segment.c | 1171 dpolicy->ordered = false; 1187 dpolicy->ordered = true; 1643 if (i + 1 < dcc->max_ordered_discard && dpolicy->ordered) { 3905 enum page_type type, bool ordered, bool locked) 3914 if (ordered) { 3904 f2fs_wait_on_page_writeback(struct page *page, enum page_type type, bool ordered, bool locked) argument
|
H A D | f2fs.h | 341 /* default maximum discard granularity of ordered discard, unit: block count */ 399 bool ordered; /* issue discard by lba order */ member in struct:discard_policy 3729 enum page_type type, bool ordered, bool locked);
|
/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
|