mirror_zfs/module/zfs
Rob Norris 13ec35ce3b
Linux/vnops: implement STATX_DIOALIGN
This statx(2) mask returns the alignment restrictions for O_DIRECT
access on the given file.

We're expected to return both memory and IO alignment. For memory, it's
always PAGE_SIZE. For IO, we return the current block size for the file,
which is the required alignment for an arbitrary block, and for the
first block we'll fall back to the ARC when necessary, so it should
always work.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Closes #16972
2025-03-13 13:15:14 -04:00
..
abd.c Adding Direct IO Support 2024-09-14 13:47:59 -07:00
aggsum.c
arc.c arc: avoid possible deadlock in arc_read 2025-02-25 14:32:12 -05:00
blake3_zfs.c
blkptr.c compress: change zio_compress API to use ABDs 2024-08-22 16:22:24 -07:00
bplist.c
bpobj.c Provide macros for setting and getting blkptr birth times 2024-03-25 15:01:54 -07:00
bptree.c
bqueue.c
brt.c BRT: Check bv_mos_entries in brt_entry_lookup() 2024-12-12 10:22:41 -08:00
btree.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 08:53:57 -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 Linux 6.12 compat: Rename range_tree_* to zfs_range_tree_* 2025-02-14 15:37:48 -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 08:53:57 -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:42:06 -08:00
dmu_object.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 08:53:57 -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 08:53:57 -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:52:01 -08:00
dmu_traverse.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 08:53:57 -08:00
dmu_tx.c Fix false assertion in dmu_tx_dirty_buf() on cloning 2024-12-05 11:48:08 -08:00
dmu_zfetch.c Improve speculative prefetcher for block cloning 2024-12-04 15:19:05 -08:00
dmu.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 08:53:57 -08:00
dnode_sync.c Linux 6.12 compat: Rename range_tree_* to zfs_range_tree_* 2025-02-14 15:37:48 -08:00
dnode.c Linux 6.12 compat: Rename range_tree_* to zfs_range_tree_* 2025-02-14 15:37:48 -08:00
dsl_bookmark.c Allocate zap_attribute_t from kmem instead of stack 2024-10-01 13:39:08 -07:00
dsl_crypt.c Check portable objset MAC even if local is zeroed 2025-03-08 21:15:11 -05:00
dsl_dataset.c Allow dsl_deadlist_open() return errors 2024-12-04 15:15:58 -08:00
dsl_deadlist.c Allow dsl_deadlist_open() return errors 2024-12-04 15:15:58 -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-04 15:15:58 -08:00
dsl_dir.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 08:53:57 -08:00
dsl_pool.c Linux 6.12 compat: Rename range_tree_* to zfs_range_tree_* 2025-02-14 15:37:48 -08:00
dsl_prop.c snapdir: add 'disabled' value to make .zfs inaccessible 2024-10-02 09:12:02 -07:00
dsl_scan.c arc: avoid possible deadlock in arc_read 2025-02-25 14:32:12 -05:00
dsl_synctask.c
dsl_userhold.c Allocate zap_attribute_t from kmem instead of stack 2024-10-01 13:39:08 -07:00
edonr_zfs.c
fm.c
gzip.c compress: change compression providers API to use ABDs 2024-08-22 16:22:24 -07:00
hkdf.c
lz4_zfs.c compress: change compression providers API to use ABDs 2024-08-22 16:22:24 -07:00
lz4.c
lzjb.c compress: change compression providers API to use ABDs 2024-08-22 16:22:24 -07:00
metaslab.c Better fill empty metaslabs 2025-02-25 14:26:34 -05:00
mmp.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 08:53:57 -08:00
multilist.c L2ARC: Relax locking during write 2024-04-09 16:23:19 -07:00
objlist.c
pathname.c
range_tree.c range_tree: convert remaining range_* defs to zfs_range_* 2025-02-14 15:37:56 -08:00
refcount.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 08:53:57 -08:00
rrwlock.c
sa.c Allocate zap_attribute_t from kmem instead of stack 2024-10-01 13:39:08 -07:00
sha2_zfs.c
skein_zfs.c
spa_checkpoint.c Linux 6.12 compat: Rename range_tree_* to zfs_range_tree_* 2025-02-14 15:37:48 -08:00
spa_config.c
spa_errlog.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 08:53:57 -08:00
spa_history.c Assert if we're logging after final txg was set 2024-11-25 18:37:56 -05:00
spa_log_spacemap.c Linux 6.12 compat: Rename range_tree_* to zfs_range_tree_* 2025-02-14 15:37:48 -08:00
spa_misc.c spa: fix signature mismatch for spa_boot_init as eventhandler required 2025-02-25 14:28:57 -05:00
spa_stats.c Adding Direct IO Support 2024-09-14 13:47:59 -07:00
spa.c arc: avoid possible deadlock in arc_read 2025-02-25 14:32:12 -05:00
space_map.c range_tree: convert remaining range_* defs to zfs_range_* 2025-02-14 15:37:56 -08:00
space_reftree.c Linux 6.12 compat: Rename range_tree_* to zfs_range_tree_* 2025-02-14 15:37:48 -08:00
THIRDPARTYLICENSE.cityhash
THIRDPARTYLICENSE.cityhash.descrip
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
vdev_draid_rand.c
vdev_draid.c range_tree: convert remaining range_* defs to zfs_range_* 2025-02-14 15:37:56 -08:00
vdev_file.c vdev_file: make FLUSH and TRIM asynchronous 2025-02-22 14:16:54 -05:00
vdev_indirect_births.c
vdev_indirect_mapping.c
vdev_indirect.c Linux 6.12 compat: Rename range_tree_* to zfs_range_tree_* 2025-02-14 15:37:48 -08:00
vdev_initialize.c range_tree: convert remaining range_* defs to zfs_range_* 2025-02-14 15:37:56 -08:00
vdev_label.c range_tree: convert remaining range_* defs to zfs_range_* 2025-02-14 15:37:56 -08:00
vdev_mirror.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 08:53:57 -08:00
vdev_missing.c
vdev_queue.c
vdev_raidz_math_aarch64_neon_common.h
vdev_raidz_math_aarch64_neon.c
vdev_raidz_math_aarch64_neonx2.c
vdev_raidz_math_avx2.c
vdev_raidz_math_avx512bw.c
vdev_raidz_math_avx512f.c
vdev_raidz_math_impl.h
vdev_raidz_math_powerpc_altivec_common.h
vdev_raidz_math_powerpc_altivec.c
vdev_raidz_math_scalar.c
vdev_raidz_math_sse2.c
vdev_raidz_math_ssse3.c
vdev_raidz_math.c Make the vfs.zfs.vdev.raidz_impl sysctl cross-platform 2025-01-29 09:18:09 -05:00
vdev_raidz.c range_tree: convert remaining range_* defs to zfs_range_* 2025-02-14 15:37:56 -08:00
vdev_rebuild.c Linux 6.12 compat: Rename range_tree_* to zfs_range_tree_* 2025-02-14 15:37:48 -08:00
vdev_removal.c Don't try to get mg of hole vdev in removal 2025-02-25 14:30:51 -05:00
vdev_root.c
vdev_trim.c range_tree: convert remaining range_* defs to zfs_range_* 2025-02-14 15:37:56 -08:00
vdev.c range_tree: convert remaining range_* defs to zfs_range_* 2025-02-14 15:37:56 -08:00
zap_leaf.c ZAP: Reduce leaf array and free chunks fragmentation 2024-11-20 13:37:52 -08:00
zap_micro.c microzap: set hard upper limit of 1M 2024-12-26 17:10:09 -05:00
zap.c Remove unnecessary CSTYLED escapes on top-level macro invocations 2024-12-06 08:53:57 -08:00
zcp_get.c
zcp_global.c
zcp_iter.c Allocate zap_attribute_t from kmem instead of stack 2024-10-01 13:39:08 -07:00
zcp_set.c
zcp_synctask.c
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
zfs_chksum.c
zfs_fm.c Adding Direct IO Support 2024-09-14 13:47:59 -07:00
zfs_fuid.c
zfs_impl.c
zfs_ioctl.c Add ability to scrub from last scrubbed txg 2024-12-04 14:21:45 -05: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
zfs_quota.c Allocate zap_attribute_t from kmem instead of stack 2024-10-01 13:39:08 -07:00
zfs_ratelimit.c
zfs_replay.c zfs_log: add flex array fields to log record structs 2024-09-27 09:18:11 -07:00
zfs_rlock.c
zfs_sa.c
zfs_vnops.c Linux/vnops: implement STATX_DIOALIGN 2025-03-13 13:15:14 -04: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-19 06:55:27 -08:00
zio_compress.c Move "no name changes" from compression to checksum table 2024-11-19 06:55:27 -08:00
zio_inject.c zinject: add "probe" device injection type 2025-01-22 16:13:21 -08:00
zio.c Verify every block pointer is either embedded, hole, or has a valid DVA 2025-03-13 13:07:48 -04:00
zle.c compress: change compression providers API to use ABDs 2024-08-22 16:22:24 -07:00
zrlock.c
zthr.c
zvol.c zvol: implement platform-independent part of block cloning 2024-12-29 11:41:30 -08:00