From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id A59DB1FF15D for ; Thu, 19 Sep 2024 11:52:27 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id D027611E59; Thu, 19 Sep 2024 11:52:34 +0200 (CEST) From: Dominik Csapak To: pve-devel@lists.proxmox.com Date: Thu, 19 Sep 2024 11:52:02 +0200 Message-Id: <20240919095202.1375181-1-d.csapak@proxmox.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.016 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [RFC PATCH pve-cluster] fix #5728: pmxcfs: allow bigger writes than 4k for fuse X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" by default libfuse2 limits writes to 4k size, which means that on writes bigger than that, we do a whole write cycle for each 4k block that comes in. To avoid that, add the option 'big_writes' to allow writes bigger than 4k at once. This should improve pmxcfs performance for situations where we often write large files (e.g. big ha status) and maybe reduce writes to disk. If we'd change to libfuse3, this would be a non-issue, since that option got removed and is the default there. Signed-off-by: Dominik Csapak --- sending as RFC, since I'm not sure if there are maybe any sideeffects i overlooked. I scanned the pmxcfs code for potential problems where we would e.g. assume a maximum size of 4096 for fuse writes, but could not find any. (also my C foo is not that great). I run it here currently, and it seems to work just fine atm. src/pmxcfs/pmxcfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pmxcfs/pmxcfs.c b/src/pmxcfs/pmxcfs.c index 1cf8ab8..c5b8f04 100644 --- a/src/pmxcfs/pmxcfs.c +++ b/src/pmxcfs/pmxcfs.c @@ -945,7 +945,7 @@ int main(int argc, char *argv[]) mkdir(CFSDIR, 0755); - char *fa[] = { "-f", "-odefault_permissions", "-oallow_other", NULL}; + char *fa[] = { "-f", "-odefault_permissions", "-oallow_other", "-obig_writes", NULL}; struct fuse_args fuse_args = FUSE_ARGS_INIT(sizeof (fa)/sizeof(gpointer) - 1, fa); -- 2.39.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel