| /linux-6.15/Documentation/block/ |
| H A D | writeback_cache_control.rst | 36 The REQ_FUA flag can be OR ed into the r/w flags of a bio submitted from the 44 Filesystems can simply set the REQ_PREFLUSH and REQ_FUA bits and do not have to 46 the Forced Unit Access is implemented. The REQ_PREFLUSH and REQ_FUA flags 54 entering the driver and strips off the REQ_PREFLUSH and REQ_FUA bits from 63 bit the block layer needs to be told to pass on the REQ_FUA bit by also setting 73 For bio based drivers the REQ_PREFLUSH and REQ_FUA bit are simply passed on to 77 *NOTE*: The REQ_FUA bit also gets passed on when the BLK_FEAT_FUA flags is 79 handle REQ_FUA. 81 For remapping drivers the REQ_FUA bits need to be propagated to underlying 92 When the BLK_FEAT_FUA flags is set, the REQ_FUA bit is simply passed on for the [all …]
|
| /linux-6.15/include/linux/ |
| H A D | blk_types.h | 402 #define REQ_FUA (__force blk_opf_t)(1ULL << __REQ_FUA) macro 420 (REQ_NOMERGE | REQ_PREFLUSH | REQ_FUA) 447 return op & (REQ_FUA | REQ_PREFLUSH); in op_is_flush() 458 (op & (REQ_SYNC | REQ_FUA | REQ_PREFLUSH)); in op_is_sync()
|
| /linux-6.15/drivers/md/dm-vdo/ |
| H A D | vio.c | 294 description = (((vio->bio->bi_opf & REQ_FUA) == REQ_FUA) ? in vio_record_metadata_io_error() 297 } else if ((vio->bio->bi_opf & REQ_FUA) == REQ_FUA) { in vio_record_metadata_io_error() 487 if (bio->bi_opf & REQ_FUA) in vdo_count_bios()
|
| /linux-6.15/block/ |
| H A D | blk-flush.c | 401 if ((rq->cmd_flags & REQ_FUA) && !supports_fua) in blk_insert_flush() 411 rq->cmd_flags &= ~REQ_FUA; in blk_insert_flush()
|
| H A D | blk-core.c | 812 bio->bi_opf &= ~(REQ_PREFLUSH | REQ_FUA); in submit_bio_noacct()
|
| H A D | fops.c | 34 opf |= REQ_FUA; in dio_bio_write_op()
|
| /linux-6.15/drivers/block/rnbd/ |
| H A D | rnbd-proto.h | 252 bio_opf |= REQ_FUA; in rnbd_to_bio_flags()
|
| /linux-6.15/fs/jbd2/ |
| H A D | journal.c | 1071 ret = jbd2_journal_update_sb_log_tail(journal, tid, block, REQ_FUA); in __jbd2_update_log_tail() 1776 journal->j_tail, REQ_FUA); in journal_reset() 1804 write_flags &= ~(REQ_FUA | REQ_PREFLUSH); in jbd2_write_superblock() 2053 jbd2_write_superblock(journal, REQ_FUA); in jbd2_journal_update_sb_errno() 2174 jbd2_mark_journal_empty(journal, REQ_PREFLUSH | REQ_FUA); in jbd2_journal_destroy() 2457 jbd2_mark_journal_empty(journal, REQ_FUA); in jbd2_journal_flush() 2503 jbd2_mark_journal_empty(journal, REQ_FUA); in jbd2_journal_wipe()
|
| H A D | commit.c | 154 write_flags |= REQ_PREFLUSH | REQ_FUA; in journal_submit_commit_record()
|
| /linux-6.15/drivers/md/ |
| H A D | dm-integrity.c | 1131 rw_journal(ic, REQ_OP_WRITE | REQ_FUA, in write_journal() 1981 dio->fua = dio->op == REQ_OP_WRITE && bio->bi_opf & REQ_FUA; in dm_integrity_map() 1987 bio->bi_opf &= ~REQ_FUA; in dm_integrity_map() 3313 rw_journal_sectors(ic, REQ_OP_WRITE | REQ_FUA | REQ_SYNC, in bitmap_block_work() 3359 rw_journal_sectors(ic, REQ_OP_WRITE | REQ_FUA | REQ_SYNC, 0, in bitmap_flush_work() 3640 r = sync_rw_sb(ic, REQ_OP_WRITE | REQ_FUA); in dm_integrity_postsuspend() 3669 rw_journal_sectors(ic, REQ_OP_WRITE | REQ_FUA | REQ_SYNC, 0, in dm_integrity_resume() 3674 r = sync_rw_sb(ic, REQ_OP_WRITE | REQ_FUA); in dm_integrity_resume() 3716 r = sync_rw_sb(ic, REQ_OP_WRITE | REQ_FUA); in dm_integrity_resume() 3728 r = sync_rw_sb(ic, REQ_OP_WRITE | REQ_FUA); in dm_integrity_resume() [all …]
|
| H A D | dm-snap-persistent.c | 742 if (ps->valid && area_io(ps, REQ_OP_WRITE | REQ_PREFLUSH | REQ_FUA | in persistent_commit_exception() 820 r = area_io(ps, REQ_OP_WRITE | REQ_PREFLUSH | REQ_FUA); in persistent_commit_merge()
|
| H A D | raid5-cache.c | 646 io->split_bio->bi_opf |= REQ_FUA; in r5l_do_submit_io() 653 io->current_bio->bi_opf |= REQ_FUA; in r5l_do_submit_io() 1785 REQ_SYNC | REQ_FUA, false)) { in r5l_log_write_empty_meta_block() 2397 REQ_OP_WRITE | REQ_SYNC | REQ_FUA, false); in r5c_recovery_rewrite_data_only_stripes()
|
| H A D | raid5-ppl.c | 254 REQ_OP_WRITE | REQ_FUA); in ppl_new_iounit() 1059 REQ_FUA, false)) { in ppl_write_empty_header()
|
| H A D | dm-writecache.c | 564 req.bi_opf = REQ_OP_WRITE | REQ_SYNC | REQ_FUA; in ssd_commit_superblock() 1495 if (unlikely(bio->bi_opf & REQ_FUA || wc->uncommitted_blocks >= wc->autocommit_blocks)) in writecache_map_write() 1879 bio->bi_opf |= REQ_FUA; in __writecache_writeback_pmem()
|
| H A D | dm-log-writes.c | 653 bool fua_bio = (bio->bi_opf & REQ_FUA); in log_writes_map()
|
| /linux-6.15/fs/iomap/ |
| H A D | direct-io.c | 375 bio_opf |= REQ_FUA; in iomap_dio_bio_iter() 390 !(bio_opf & REQ_FUA))) in iomap_dio_bio_iter()
|
| /linux-6.15/drivers/target/ |
| H A D | target_core_iblock.c | 749 opf |= REQ_FUA; in iblock_execute_rw() 751 opf |= REQ_FUA; in iblock_execute_rw()
|
| /linux-6.15/drivers/nvme/target/ |
| H A D | io-cmd-bdev.c | 268 opf |= REQ_FUA; in nvmet_bdev_execute_rw()
|
| H A D | zns.c | 584 bio->bi_opf |= REQ_FUA; in nvmet_bdev_execute_zone_append()
|
| /linux-6.15/Documentation/admin-guide/device-mapper/ |
| H A D | log-writes.rst | 39 Any REQ_FUA requests bypass this flushing mechanism and are logged as soon as
|
| /linux-6.15/fs/gfs2/ |
| H A D | recovery.c | 271 REQ_PREFLUSH | REQ_FUA | REQ_META | REQ_SYNC); in clean_journal()
|
| /linux-6.15/drivers/block/ |
| H A D | xen-blkfront.c | 771 BUG_ON(req_op(req) == REQ_OP_FLUSH || req->cmd_flags & REQ_FUA); in blkif_queue_rw_req() 784 (req_op(req) == REQ_OP_WRITE && (req->cmd_flags & REQ_FUA))) { in blkif_queue_rw_req() 2088 shadow[j].request->cmd_flags & REQ_FUA) { in blkfront_resume()
|
| /linux-6.15/fs/exfat/ |
| H A D | super.c | 106 __sync_dirty_buffer(sbi->boot_bh, REQ_SYNC | REQ_FUA | REQ_PREFLUSH); in exfat_set_vol_flags()
|
| /linux-6.15/drivers/nvdimm/ |
| H A D | pmem.c | 233 if (bio->bi_opf & REQ_FUA) in pmem_submit_bio()
|
| /linux-6.15/drivers/md/bcache/ |
| H A D | journal.c | 795 REQ_SYNC | REQ_META | REQ_PREFLUSH | REQ_FUA);
|