{"id":2231752,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2231752/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-cifs-client/patch/20260501112023.338005-1-sprasad@microsoft.com/","project":{"id":12,"url":"http://patchwork.ozlabs.org/api/1.1/projects/12/?format=json","name":"Linux CIFS Client","link_name":"linux-cifs-client","list_id":"linux-cifs.vger.kernel.org","list_email":"linux-cifs@vger.kernel.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260501112023.338005-1-sprasad@microsoft.com>","date":"2026-05-01T11:20:04","name":"[v4,01/19] cifs: change_conf needs to be called for session setup","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"52b185fe4def203da5f27c0a2eb8a2e622f28502","submitter":{"id":79368,"url":"http://patchwork.ozlabs.org/api/1.1/people/79368/?format=json","name":"Shyam Prasad N","email":"nspmangalore@gmail.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-cifs-client/patch/20260501112023.338005-1-sprasad@microsoft.com/mbox/","series":[{"id":502444,"url":"http://patchwork.ozlabs.org/api/1.1/series/502444/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-cifs-client/list/?series=502444","date":"2026-05-01T11:20:06","name":"[v4,01/19] cifs: change_conf needs to be called for session setup","version":4,"mbox":"http://patchwork.ozlabs.org/series/502444/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2231752/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2231752/checks/","tags":{},"headers":{"Return-Path":"\n <linux-cifs+bounces-11326-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-cifs@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=ZV8e87Cs;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-cifs+bounces-11326-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=\"ZV8e87Cs\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.210.172","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=gmail.com"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g6TK4617yz1xqf\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 01 May 2026 21:27:04 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id CA87B30AC4D5\n\tfor <incoming@patchwork.ozlabs.org>; Fri,  1 May 2026 11:22:04 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 60B6A3A3E6D;\n\tFri,  1 May 2026 11:20:34 +0000 (UTC)","from mail-pf1-f172.google.com (mail-pf1-f172.google.com\n [209.85.210.172])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 8FFAA3A5E7A\n\tfor <linux-cifs@vger.kernel.org>; Fri,  1 May 2026 11:20:32 +0000 (UTC)","by mail-pf1-f172.google.com with SMTP id\n d2e1a72fcca58-82f69adeecbso825266b3a.2\n        for <linux-cifs@vger.kernel.org>;\n Fri, 01 May 2026 04:20:32 -0700 (PDT)","from sprasad-dev1.corp.microsoft.com ([167.220.110.216])\n        by smtp.gmail.com with ESMTPSA id\n d2e1a72fcca58-8351587db67sm2331922b3a.13.2026.05.01.04.20.29\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Fri, 01 May 2026 04:20:30 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777634434; cv=none;\n b=EhO7+uJTTXyENBe4OUOudj/xjqQUuF+ZGx8/OoFgYjfNtsb2vXToroGngVZEojXvKByadk3bvzHOiFl6n1lwMUBY7KHK6WFgadNY6XBUPXq8YUZOPEpwY1OduKoBs7pkuSVOMqPaqHSJlzR1FoXujCb8eBEelQWXGDXVRZ7QO/c=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777634434; c=relaxed/simple;\n\tbh=eG9ghrqyHv+FTgYWiTsJuJFnXKn0gQTXBQyL1yWQTYk=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version;\n b=Nf2OIqcQhLQY8IiTxFsGhqr7jAWhmXOgR2iW1Up2tY9l+C1kzf/50R/ElTOAhqRUqQ/WESY/pi9tYsX6vEgS9IBGE/PBvNJHhnxkaOEw04N1JLNkaYC5lmYaTUch+il0z56SydcaBbAJWHPsx1ft7E1ZkixeOGBrJuhtEUp88s0=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com;\n spf=pass smtp.mailfrom=gmail.com;\n dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=ZV8e87Cs; arc=none smtp.client-ip=209.85.210.172","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20251104; t=1777634431; x=1778239231;\n darn=vger.kernel.org;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:from:to:cc:subject:date:message-id:reply-to;\n        bh=k085XqsDoPGBdb9RzNl+RVKDoAd53m9lIegek7QU+Yc=;\n        b=ZV8e87CsC4UZ+ujPnUqB2ExeeFuHE4clcfW0tjgp6E7xmL7RETu2shaVWEOZNhsrGc\n         2LZhBGUgopqMeZhTWchV7iaWSAtlonuuZVLe2/3H8hksgmWtlnjysc6mS1v4ouGk2Qll\n         OjFcXwAbq1llOWoPIm3KgLlnbEzqw4UeCBsqIUSNKXqMa4qUvG9tc80v9pxqeXB5W8uU\n         62d+YI6brUWjcmEQVQCfk96IjvZjVLZaukheNvwgUyf6kgWeB7mhuVtJHIdrfyd3raB+\n         J/v6l+K0CFyF6opmOv6nYim1jkCHgnNQSz5CCfBkUH8gqPmm/WuUAa19jXjREz90qpwZ\n         vp9A==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1777634431; x=1778239231;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=k085XqsDoPGBdb9RzNl+RVKDoAd53m9lIegek7QU+Yc=;\n        b=NhpxuZ91SLtCEHxKgSfCcjkUCF9TUYcYhKjOJmVl95+EFsL/YVP/gybqno0RSHrMRA\n         1CowzFxGYYqPzm+xuUUuM/Bijf2WVtrZWNR4ysXZk5yAlgtKNcfTvTNZXv68smXA8xS0\n         20apQ4Kfe0Qryk+ona73uraXW0ughPc6I7ndc+ue/t9zY4baPaEoa+7W4Zsyg1uKsIHf\n         nm3YrlhTheoChKcrs/G3er5xl3iG+1LQqvkqsp33nNYY4wboTKK6Q32HljbVPVu+l1CF\n         ilaXO/CKZcGkNikkWY/sl+SRQDxGQqs7brkyvKaD2J7UrpnXem7mzn23ALn7rBHgYN2w\n         OhQQ==","X-Gm-Message-State":"AOJu0YwU695EZmdKADRpScOFOp6Vfr2dNjkpKcXt29ujhC2Iv/p7fHu2\n\twVVKAGvG7Epe4vmZhae1KOFwAoh4keNnaYhKRlRtm4AJDg6oZmkk54KyOIraCM5tjek=","X-Gm-Gg":"AeBDies+HASG9KT0Wk8N9Waj+tNw2IbC0DPmEPaiqiOk00B/XzV3KrkdNnqxBSq3oy9\n\t1zOjKkhgH85fHioh74sMByw4IMnEyVWnxzj1x6LJoP2Jo8AFnfQrgBEhmWnzClnxlvNSdwpdt4H\n\tP/JT82vmcZmNQHv2Y1INiuOYUr/qQaO1kPkS0Lm47340yfqvGtdItVGnI0s0rDQL0RgNsdGekUC\n\tULpnnxCTva06QlysJ63FAY3BeWPsy0hhNm8FOMl/K1USy/nHNt9Tkv5AYkzicF5VBzoUYbRzPEx\n\t1uNSji24W6zYvHpEb7L8AWnoHtND8Z/x1JNUWfNx05CLrU2SymKOT0pWHFVp5NcxmPD9rzuCVQE\n\t+pRAHBCZGNpNq3j7Tbs9UNTrlneq2/UvQlgxKXasnxjPUvlHDqqZ/QwESPgvDLAEEPUsn3CervH\n\tXx+D4bH46VnyUXE9j1t1VUX6LPSmDCWBFtuF5Ols0BtRk9IV60KNNUo2y0zjBfzPBUIp8ZElHoU\n\t1Q=","X-Received":"by 2002:a05:6a00:ad88:b0:827:3914:f130 with SMTP id\n d2e1a72fcca58-834fe200ef0mr7412087b3a.36.1777634430884;\n        Fri, 01 May 2026 04:20:30 -0700 (PDT)","From":"nspmangalore@gmail.com","X-Google-Original-From":"sprasad@microsoft.com","To":"linux-cifs@vger.kernel.org,\n\tsmfrench@gmail.com,\n\tpc@manguebit.org,\n\tbharathsm@microsoft.com,\n\tdhowells@redhat.com,\n\thenrique.carvalho@suse.com,\n\tematsumiya@suse.de","Cc":"Shyam Prasad N <sprasad@microsoft.com>,\n\tstable@vger.kernel.org","Subject":"[PATCH v4 01/19] cifs: change_conf needs to be called for session\n setup","Date":"Fri,  1 May 2026 16:50:04 +0530","Message-ID":"<20260501112023.338005-1-sprasad@microsoft.com>","X-Mailer":"git-send-email 2.43.0","Precedence":"bulk","X-Mailing-List":"linux-cifs@vger.kernel.org","List-Id":"<linux-cifs.vger.kernel.org>","List-Subscribe":"<mailto:linux-cifs+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-cifs+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit"},"content":"From: Shyam Prasad N <sprasad@microsoft.com>\n\nToday we skip calling change_conf for negotiates and session setup\nrequests. This can be a problem for mchan as the immediate next call\nafter session setup could be due to an I/O that is made on the\nmount point. For single channel, this is not a problem as\nthere will be several calls after setting up session.\n\nThis change enforces calling change_conf when the total credits contain\nenough for reservations for echoes and oplocks. We expect this to happen\nduring the last session setup response. This way, echoes and oplocks are\nnot disabled before the first request to the server. So if that first\nrequest is an open, it does not need to disable requesting leases.\n\nCc: <stable@vger.kernel.org>\nReviewed-by: Bharath SM <bharathsm@microsoft.com>\nSigned-off-by: Shyam Prasad N <sprasad@microsoft.com>\n---\n fs/smb/client/smb2ops.c | 11 +++++++++++\n 1 file changed, 11 insertions(+)","diff":"diff --git a/fs/smb/client/smb2ops.c b/fs/smb/client/smb2ops.c\nindex 509fcea28a429..a9d68e5fcea91 100644\n--- a/fs/smb/client/smb2ops.c\n+++ b/fs/smb/client/smb2ops.c\n@@ -111,10 +111,21 @@ smb2_add_credits(struct TCP_Server_Info *server,\n \t\t\t\t      cifs_trace_rw_credits_zero_in_flight);\n \t}\n \tserver->in_flight--;\n+\n+\t/*\n+\t * Rebalance credits when an op drains in_flight. For session setup,\n+\t * do this only when the total accumulated credits are high enough (>2)\n+\t * so that a newly established secondary channel can reserve credits for\n+\t * echoes and oplocks. We expect this to happen at the end of the final\n+\t * session setup response.\n+\t */\n \tif (server->in_flight == 0 &&\n \t   ((optype & CIFS_OP_MASK) != CIFS_NEG_OP) &&\n \t   ((optype & CIFS_OP_MASK) != CIFS_SESS_OP))\n \t\trc = change_conf(server);\n+\telse if (server->in_flight == 0 &&\n+\t\t ((optype & CIFS_OP_MASK) == CIFS_SESS_OP) && *val > 2)\n+\t\trc = change_conf(server);\n \t/*\n \t * Sometimes server returns 0 credits on oplock break ack - we need to\n \t * rebalance credits in this case.\n","prefixes":["v4","01/19"]}