mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
Add prefetch property
ZFS prefetch is currently governed by the zfs_prefetch_disable tunable. However, this is a module-wide settings - if a specific dataset benefits from prefetch, while others have issue with it, an optimal solution does not exists. This commit introduce the "prefetch" tri-state property, which enable granular control (at dataset/volume level) for prefetching. This patch does not remove the zfs_prefetch_disable, which remains a system-wide switch for enable/disable prefetch. However, to avoid duplication, it would be preferable to deprecate and then remove the module tunable. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Alexander Motin <mav@FreeBSD.org> Reviewed-by: Ameer Hamza <ahamza@ixsystems.com> Signed-off-by: Gionatan Danti <g.danti@assyoma.it> Co-authored-by: Gionatan Danti <g.danti@assyoma.it> Closes #15237 Closes #15436
This commit is contained in:
@@ -1613,6 +1613,23 @@ If this property is set to
|
||||
then only metadata is cached.
|
||||
The default value is
|
||||
.Sy all .
|
||||
.It Sy prefetch Ns = Ns Sy all Ns | Ns Sy none Ns | Ns Sy metadata
|
||||
Controls what speculative prefetch does.
|
||||
If this property is set to
|
||||
.Sy all ,
|
||||
then both user data and metadata are prefetched.
|
||||
If this property is set to
|
||||
.Sy none ,
|
||||
then neither user data nor metadata are prefetched.
|
||||
If this property is set to
|
||||
.Sy metadata ,
|
||||
then only metadata are prefetched.
|
||||
The default value is
|
||||
.Sy all .
|
||||
.Pp
|
||||
Please note that the module parameter zfs_disable_prefetch=1 can
|
||||
be used to totally disable speculative prefetch, bypassing anything
|
||||
this property does.
|
||||
.It Sy setuid Ns = Ns Sy on Ns | Ns Sy off
|
||||
Controls whether the setuid bit is respected for the file system.
|
||||
The default value is
|
||||
|
||||
Reference in New Issue
Block a user