aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Motin <[email protected]>2023-12-06 18:02:05 -0500
committerBrian Behlendorf <[email protected]>2024-01-08 16:11:39 -0800
commit1e1d748cae2edf4afc08cb4a9d063b843dc9f396 (patch)
tree81b70a8a9d1b528ab4e7b1f2d58e1b5231fcf1f7
parentdea2d3c6cda7f61bd53deb133926bee77819f9bd (diff)
ZIL: Remove 128K into 2x68K LWB split optimization
To improve 128KB block write performance in case of multiple VDEVs ZIL used to spit those writes into two 64KB ones. Unfortunately it was found to cause LWB buffer overflow, trying to write maximum- sizes 128KB TX_CLONE_RANGE record with 1022 block pointers into 68KB buffer, since unlike TX_WRITE ZIL code can't split it. This is a minimally-invasive temporary block cloning fix until the following more invasive prediction code refactoring. Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Ameer Hamza <[email protected]> Signed-off-by: Alexander Motin <[email protected]> Sponsored by: iXsystems, Inc. Closes #15634
-rw-r--r--module/zfs/zil.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/module/zfs/zil.c b/module/zfs/zil.c
index 7670e1729..5642f082b 100644
--- a/module/zfs/zil.c
+++ b/module/zfs/zil.c
@@ -1733,8 +1733,6 @@ static const struct {
{ 8192 + 4096, 8192 + 4096 }, /* database */
{ 32768 + 4096, 32768 + 4096 }, /* NFS writes */
{ 65536 + 4096, 65536 + 4096 }, /* 64KB writes */
- { 131072, 131072 }, /* < 128KB writes */
- { 131072 +4096, 65536 + 4096 }, /* 128KB writes */
{ UINT64_MAX, SPA_OLD_MAXBLOCKSIZE}, /* > 128KB writes */
};