mirror_zfs/module/zfs
Rob Norris 5bb034f533 flush: don't report flush error when disabling flush support
The first time a device returns ENOTSUP in repsonse to a flush request,
we set vdev_nowritecache so we don't issue flushes in the future and
instead just pretend the succeeded. However, we still return an error
for the initial flush, even though we just decided such errors are
meaningless!

So, when setting vdev_nowritecache in response to a flush error, also
reset the error code to assume success.

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Closes #16855
2024-12-16 10:26:27 -08:00
..
abd.c Adding Direct IO Support 2024-09-14 13:47:59 -07:00
aggsum.c Remove bcopy(), bzero(), bcmp() 2022-03-15 15:13:42 -07:00
arc.c L2ARC: Stop rebuild before setting spa_final_txg 2024-11-21 08:24:37 -08:00
blake3_zfs.c blake3: fix up bogus checksums in face of cpu migration 2023-05-01 17:21:27 -07:00
blkptr.c compress: change zio_compress API to use ABDs 2024-08-22 16:22:24 -07:00
bplist.c Use list_remove_head() where possible. 2023-06-09 10:12:52 -07:00
bpobj.c Provide macros for setting and getting blkptr birth times 2024-03-25 15:01:54 -07:00
bptree.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
bqueue.c Batch enqueue/dequeue for bqueue 2023-01-10 13:39:22 -08:00
brt.c BRT: Check bv_mos_entries in brt_entry_lookup() 2024-12-12 16:20:30 -08:00
btree.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
dataset_kstats.c Adding Direct IO Support 2024-09-14 13:47:59 -07:00
dbuf_stats.c Consider dnode_t allocations in dbuf cache size accounting 2023-11-17 13:25:53 -08:00
dbuf.c Fix DR_OVERRIDDEN use-after-free race in dbuf_sync_leaf 2024-12-12 16:20:30 -08:00
ddt_log.c Add DDT prune command 2024-09-04 14:17:02 -07:00
ddt_stats.c ddt: dedup log 2024-08-16 12:03:35 -07:00
ddt_zap.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
ddt.c Remove set but not used variable in ddt.c (#16522) 2024-09-10 12:46:50 -07:00
dmu_diff.c Simplify issig(). 2024-05-29 10:49:11 -07:00
dmu_direct.c Reduce dirty records memory usage 2024-11-04 16:46:39 -08:00
dmu_object.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
dmu_objset.c Allocate zap_attribute_t from kmem instead of stack 2024-10-01 13:39:08 -07:00
dmu_recv.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
dmu_redact.c Allocate zap_attribute_t from kmem instead of stack 2024-10-01 13:39:08 -07:00
dmu_send.c ZFS send should use spill block prefetched from send_reader_thread 2024-11-06 11:54:32 -08:00
dmu_traverse.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
dmu_tx.c Fix false assertion in dmu_tx_dirty_buf() on cloning 2024-12-05 11:49:06 -08:00
dmu_zfetch.c Improve speculative prefetcher for block cloning 2024-12-05 09:33:21 -08:00
dmu.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
dnode_sync.c Reduce dirty records memory usage 2024-11-04 16:46:39 -08:00
dnode.c Linux: Report reclaimable memory to kernel as such (#16385) 2024-07-30 11:40:47 -07:00
dsl_bookmark.c Allocate zap_attribute_t from kmem instead of stack 2024-10-01 13:39:08 -07:00
dsl_crypt.c Allocate zap_attribute_t from kmem instead of stack 2024-10-01 13:39:08 -07:00
dsl_dataset.c Allow dsl_deadlist_open() return errors 2024-12-05 09:33:21 -08:00
dsl_deadlist.c Allow dsl_deadlist_open() return errors 2024-12-05 09:33:21 -08:00
dsl_deleg.c Allocate zap_attribute_t from kmem instead of stack 2024-10-01 13:39:08 -07:00
dsl_destroy.c Allow dsl_deadlist_open() return errors 2024-12-05 09:33:21 -08:00
dsl_dir.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
dsl_pool.c Allocate zap_attribute_t from kmem instead of stack 2024-10-01 13:39:08 -07:00
dsl_prop.c snapdir: add 'disabled' value to make .zfs inaccessible 2024-10-02 09:12:02 -07:00
dsl_scan.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
dsl_synctask.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
dsl_userhold.c Allocate zap_attribute_t from kmem instead of stack 2024-10-01 13:39:08 -07:00
edonr_zfs.c Remove unused Edon-R variants 2023-03-14 15:59:58 -07:00
fm.c Use list_remove_head() where possible. 2023-06-09 10:12:52 -07:00
gzip.c compress: change compression providers API to use ABDs 2024-08-22 16:22:24 -07:00
hkdf.c Remove bcopy(), bzero(), bcmp() 2022-03-15 15:13:42 -07:00
lz4_zfs.c compress: change compression providers API to use ABDs 2024-08-22 16:22:24 -07:00
lz4.c lz4: Cherrypick fix for CVE-2021-3520 2022-01-12 16:14:36 -08:00
lzjb.c compress: change compression providers API to use ABDs 2024-08-22 16:22:24 -07:00
metaslab.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
mmp.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
multilist.c L2ARC: Relax locking during write 2024-04-09 16:23:19 -07:00
objlist.c Implement Redacted Send/Receive 2019-06-19 09:48:12 -07:00
pathname.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
range_tree.c btree: Implement faster binary search algorithm 2023-05-26 10:03:12 -07:00
refcount.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
rrwlock.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
sa.c Allocate zap_attribute_t from kmem instead of stack 2024-10-01 13:39:08 -07:00
sha2_zfs.c Add generic implementation handling and SHA2 impl 2023-03-02 13:52:21 -08:00
skein_zfs.c Remove bcopy(), bzero(), bcmp() 2022-03-15 15:13:42 -07:00
spa_checkpoint.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
spa_config.c Add mutex_enter_interruptible() for interruptible sleeping IOCTLs 2023-10-26 09:17:40 -07:00
spa_errlog.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
spa_history.c Assert if we're logging after final txg was set 2024-12-02 18:14:26 -08:00
spa_log_spacemap.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
spa_misc.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
spa_stats.c Adding Direct IO Support 2024-09-14 13:47:59 -07:00
spa.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
space_map.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
space_reftree.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
THIRDPARTYLICENSE.cityhash OpenZFS 8484 - Implement aggregate sum and use for arc counters 2018-06-06 09:35:59 -07:00
THIRDPARTYLICENSE.cityhash.descrip OpenZFS 8484 - Implement aggregate sum and use for arc counters 2018-06-06 09:35:59 -07:00
txg.c vdev probe to slow disk can stall mmp write checker 2024-04-29 14:35:53 -07:00
uberblock.c Provide macros for setting and getting blkptr birth times 2024-03-25 15:01:54 -07:00
unique.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
vdev_draid_rand.c Distributed Spare (dRAID) Feature 2020-11-13 13:51:51 -08:00
vdev_draid.c Always validate checksums for Direct I/O reads 2024-10-09 13:45:06 -07:00
vdev_indirect_births.c Remove bcopy(), bzero(), bcmp() 2022-03-15 15:13:42 -07:00
vdev_indirect_mapping.c Remove bcopy(), bzero(), bcmp() 2022-03-15 15:13:42 -07:00
vdev_indirect.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
vdev_initialize.c Add support for parallel pool exports 2024-05-14 08:57:41 -07:00
vdev_label.c Adding Direct IO Support 2024-09-14 13:47:59 -07:00
vdev_mirror.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
vdev_missing.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
vdev_queue.c Fix accounting error for pending sync IO ops in zpool iostat 2023-11-07 09:06:14 -08:00
vdev_raidz_math_aarch64_neon_common.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
vdev_raidz_math_aarch64_neon.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
vdev_raidz_math_aarch64_neonx2.c Fix Clang 15 compilation errors 2022-11-30 13:46:26 -08:00
vdev_raidz_math_avx2.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
vdev_raidz_math_avx512bw.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
vdev_raidz_math_avx512f.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
vdev_raidz_math_impl.h RAIDZ: Use cache blocking during parity math 2023-10-30 14:54:27 -07:00
vdev_raidz_math_powerpc_altivec_common.h Linux ppc64le ieee128 compat: Do not redefine __asm on external headers 2023-01-13 10:58:58 -08:00
vdev_raidz_math_powerpc_altivec.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
vdev_raidz_math_scalar.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
vdev_raidz_math_sse2.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
vdev_raidz_math_ssse3.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
vdev_raidz_math.c Miscellaneous FreBSD compilation bugfixes 2023-04-06 10:35:02 -07:00
vdev_raidz.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
vdev_rebuild.c Add ability to scrub from last scrubbed txg 2024-12-05 09:33:21 -08:00
vdev_removal.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
vdev_root.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
vdev_trim.c Add support for parallel pool exports 2024-05-14 08:57:41 -07:00
vdev.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
zap_leaf.c ZAP: Some cleanups/micro-optimizations 2024-03-21 16:43:53 -07:00
zap_micro.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
zap.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 09:05:02 -08:00
zcp_get.c nvpair: Constify string functions 2023-03-14 15:25:50 -07:00
zcp_global.c OpenZFS 8600 - ZFS channel programs - snapshot 2018-02-08 15:29:24 -08:00
zcp_iter.c Allocate zap_attribute_t from kmem instead of stack 2024-10-01 13:39:08 -07:00
zcp_set.c Support setting user properties in a channel program 2020-02-14 13:41:42 -08:00
zcp_synctask.c Add zfs.sync.snapshot_rename 2022-09-02 13:31:19 -07:00
zcp.c Simplify issig(). 2024-05-29 10:49:11 -07:00
zfeature.c Allocate zap_attribute_t from kmem instead of stack 2024-10-01 13:39:08 -07:00
zfs_byteswap.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zfs_chksum.c Add generic implementation handling and SHA2 impl 2023-03-02 13:52:21 -08:00
zfs_fm.c Adding Direct IO Support 2024-09-14 13:47:59 -07:00
zfs_fuid.c Use list_remove_head() where possible. 2023-06-09 10:12:52 -07:00
zfs_impl.c Add generic implementation handling and SHA2 impl 2023-03-02 13:52:21 -08:00
zfs_ioctl.c Add ability to scrub from last scrubbed txg 2024-12-05 09:33:21 -08:00
zfs_log.c zfs_log: add flex array fields to log record structs 2024-09-27 09:18:11 -07:00
zfs_onexit.c Use list_remove_head() where possible. 2023-06-09 10:12:52 -07:00
zfs_quota.c Allocate zap_attribute_t from kmem instead of stack 2024-10-01 13:39:08 -07:00
zfs_ratelimit.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zfs_replay.c zfs_log: add flex array fields to log record structs 2024-09-27 09:18:11 -07:00
zfs_rlock.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zfs_sa.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zfs_vnops.c zfs(4): remove "experimental" from zfs_bclone_enabled 2024-11-04 16:46:39 -08:00
zfs_znode.c Support for longnames for files/directories (Linux part) 2024-10-01 13:40:27 -07:00
zil.c zfs: add bounds checking to zil_parse (#16308) 2024-07-31 17:17:04 -07:00
zio_checksum.c Move "no name changes" from compression to checksum table 2024-11-21 08:24:37 -08:00
zio_compress.c Move "no name changes" from compression to checksum table 2024-11-21 08:24:37 -08:00
zio_inject.c vdev probe to slow disk can stall mmp write checker 2024-04-29 14:35:53 -07:00
zio.c flush: don't report flush error when disabling flush support 2024-12-16 10:26:27 -08:00
zle.c compress: change compression providers API to use ABDs 2024-08-22 16:22:24 -07:00
zrlock.c Micro-optimize zrl_remove() 2022-11-29 09:26:03 -08:00
zthr.c Switch from _Noreturn to __attribute__((noreturn)) 2022-03-23 08:51:00 -07:00
zvol.c Allocate zap_attribute_t from kmem instead of stack 2024-10-01 13:39:08 -07:00