{"id":2229721,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2229721/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-cifs-client/patch/20260428160804.281745-17-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":"<20260428160804.281745-17-sprasad@microsoft.com>","date":"2026-04-28T16:08:02","name":"[v3,17/19] cifs: discard functions should not return failure","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"2dea4af4d8dca26e9d389d82f1a1c546e4b7dea8","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/20260428160804.281745-17-sprasad@microsoft.com/mbox/","series":[{"id":501896,"url":"http://patchwork.ozlabs.org/api/1.1/series/501896/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-cifs-client/list/?series=501896","date":"2026-04-28T16:07:57","name":"[v3,01/19] cifs: change_conf needs to be called for session setup","version":3,"mbox":"http://patchwork.ozlabs.org/series/501896/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2229721/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2229721/checks/","tags":{},"headers":{"Return-Path":"\n <linux-cifs+bounces-11254-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=Dcu1c4rU;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-cifs+bounces-11254-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=\"Dcu1c4rU\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.214.177","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 tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g4m8J1Lqsz1yHv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 02:28:32 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 3C0003197443\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 16:14:43 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 9A2B044D6A4;\n\tTue, 28 Apr 2026 16:08:37 +0000 (UTC)","from mail-pl1-f177.google.com (mail-pl1-f177.google.com\n [209.85.214.177])\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 2B36C44D001\n\tfor <linux-cifs@vger.kernel.org>; Tue, 28 Apr 2026 16:08:36 +0000 (UTC)","by mail-pl1-f177.google.com with SMTP id\n d9443c01a7336-2ab39b111b9so48057945ad.1\n        for <linux-cifs@vger.kernel.org>;\n Tue, 28 Apr 2026 09:08:36 -0700 (PDT)","from sprasad-dev1.corp.microsoft.com ([167.220.110.216])\n        by smtp.gmail.com with ESMTPSA id\n d9443c01a7336-2b97ac7894csm30864465ad.50.2026.04.28.09.08.34\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Tue, 28 Apr 2026 09:08:34 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777392517; cv=none;\n b=Kc0Mg98IECqnQivOnKysuoosVO3EmjmuNl8ARqQ+Cjpd05t4wSlGZNYp3tF1yomq5ZA6mBqG+TCgjEvojF7k2Y+rHzj3u9wDjvxBijIruakopqHXc4nQv/mUc/e/5nrmZ/901sQ3ussKg4len/mRlcPkyRA3SbRYkYUBUNZtIjo=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777392517; c=relaxed/simple;\n\tbh=cd1aVc8KltC+CUDcrep3mlAszsJrMaOGPYZE+DIthaM=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=cBT1E8kR3q/RQsUJTJvPDVXqNUhlsRgnZDXFtV07UjBxcvuDrbuJECQXQ0zDpSPISXuDxpqkaHcuNpRkc5Xp4jZCedBgciZ4JgKGOYyCE7W/GtqRJgzRyhOqlU//3vCC7mrJMboxmp5GbXdGMmLdnoYuAITCTlnYnAP0wEm1xAw=","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=Dcu1c4rU; arc=none smtp.client-ip=209.85.214.177","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20251104; t=1777392515; x=1777997315;\n darn=vger.kernel.org;\n        h=content-transfer-encoding:mime-version:references:in-reply-to\n         :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=80fkFcmUjREJVCHsSaKwaXRr41jj+Db13dSZWbgH9lk=;\n        b=Dcu1c4rU9bbxOjTn8Iah69wsFmoOTgMBw/CP6TNRP3hpcqz2RMc0hj17/E8QkthWwM\n         nLI1r/GBpuD+WUwBUGlbtzeXAFjz8FutusQR5xVzvfEcNbV8tea9AhPvAonplsul1fIV\n         Wys8msa0QpBaAHKYOZygk/7yO6TZw83ibGRxRnklzXOQoQUURcKwQrQ9L2UJDFrSKLUW\n         kDXx4mIh9A2cCMYfgjfjf2qtrwrgAyMNTEeP2huqt1li4K0ySw2niiR1vt1Dh5MHv2ZB\n         kCagpixPn+2lABE9FKPVJS+6bZ4C+OLdI5Wh3XzatJKZGr3oKpp1ALqkHMJ0DQ6JYN/z\n         xdzg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1777392515; x=1777997315;\n        h=content-transfer-encoding:mime-version:references:in-reply-to\n         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n         :to:cc:subject:date:message-id:reply-to;\n        bh=80fkFcmUjREJVCHsSaKwaXRr41jj+Db13dSZWbgH9lk=;\n        b=UliUwW/4m+1isb4VUwmsWQK+PmQMzb4HIeF2RYf+i04r6phB7eZQaJ2MBxuPv024pj\n         uN7+es0tS/56Mi+WU21igi7Z7IaQJ2NdrFBQ/julJhNkDP4LCUpQfMzi+PQqNVwHPka/\n         PTRWSoWZEuOgt8ygDBk/QKV5eL64UCH6CikCxjogJ0gwG/EuMPxucnCx7QD74phzhZr3\n         7ee+MxZ0Z6P4xLVYNVOM0rCzg2rUR1Bal5ahy7O+2JNJwE3H9irooJJVuzSxtMAEptrK\n         WbKXrkO450xKaD/1tG+jAl0dqm/jW/zrR6hH1VcK0vRZ+/EterNUZvisEJLRO+tRdV3L\n         xFUw==","X-Gm-Message-State":"AOJu0YxRFt0P7ouqNaQJ292O1HcDJFRh2WPKdnBX0aK3x85wPP+SOIBv\n\tgzy8Srw76vDmRIfy3R6O/8dmn6pE9vpdywttYAbcT9+cDoaQaChbE6ZRNPAqiKW5wfo=","X-Gm-Gg":"AeBDievhMxdKkGfqVQewCgZPTkCjQ/ZYIwPLwpnQp22XeENqTQ8RS2jFch7JvzXjS1C\n\ttEwJi7WUeZxLXGvnOZFoiYpdskm4ZzAFAMlYtgRJjCCzIsfKe/7BvLFQ6PELvlMRFyecfH1cCYy\n\tCTQHY/V4W5T6SUPglnwfwg4+cxI8PCJerNiX+EzEmtDCMYb+FEDkLSLM+uKiK2cA/yZinXrZt5I\n\t0NiO31Ljlh+5t5OA0kzy7584IeFX0yiYrWEX8DSxgjiGYC1urY/tRhYiCnQuG8Ov56o/yTrC7hS\n\tgJ8DXy0APO1xWszQ5VqHW/7jjOTGHIivl+0iCxEM19Fxd/A3nOlSHKZ4AS/9gbcYSDQeqBWff+M\n\t5frv5tRTYRZo50nKrwYOXp709l8cusXSvM7vJa6O3w+5KMP744I6Q1RS410pgNwAMkt54wBq91C\n\tOikR4gjCCmtvulDzX6KlBmrYPrL18S0/ppL0aSVfAVNjNRZcAx73aV49Orz2/v3tSMl9XfOwYrf\n\tMM=","X-Received":"by 2002:a17:903:3c48:b0:2b4:61cc:37a8 with SMTP id\n d9443c01a7336-2b97c452764mr37751685ad.17.1777392514990;\n        Tue, 28 Apr 2026 09:08:34 -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>","Subject":"[PATCH v3 17/19] cifs: discard functions should not return failure","Date":"Tue, 28 Apr 2026 21:38:02 +0530","Message-ID":"<20260428160804.281745-17-sprasad@microsoft.com>","X-Mailer":"git-send-email 2.43.0","In-Reply-To":"<20260428160804.281745-1-sprasad@microsoft.com>","References":"<20260428160804.281745-1-sprasad@microsoft.com>","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\nIf discard functions for readv and query_dir return error, the\ncallback functions can be skipped. This can end up with hung\nsyscalls due to the completion functions not getting called.\n\nThis change ensures that both these discard functions return\nsuccess even when discard from socket returned error. This\nensures that at least after the mid for the response is found,\nthe callback doesn't get skipped, and we do not leave syscalls\nwaiting.\n\nSigned-off-by: Shyam Prasad N <sprasad@microsoft.com>\n---\n fs/smb/client/transport.c | 16 ++++++++--------\n 1 file changed, 8 insertions(+), 8 deletions(-)","diff":"diff --git a/fs/smb/client/transport.c b/fs/smb/client/transport.c\nindex 1e9e6f3f9a06f..85fa5751781a8 100644\n--- a/fs/smb/client/transport.c\n+++ b/fs/smb/client/transport.c\n@@ -1137,13 +1137,13 @@ static int\n __cifs_readv_discard(struct TCP_Server_Info *server, struct mid_q_entry *mid,\n \t\t     bool malformed)\n {\n-\tint length;\n-\n-\tlength = cifs_discard_remaining_data(server);\n+\tcifs_discard_remaining_data(server);\n \tdequeue_mid(server, mid, malformed);\n \tmid->resp_buf = server->smallbuf;\n \tserver->smallbuf = NULL;\n-\treturn length;\n+\n+\t/* Once the mid is dequeued, the callback must run to terminate the subreq. */\n+\treturn 0;\n }\n \n static int\n@@ -1158,13 +1158,13 @@ static int\n cifs_query_dir_discard(struct TCP_Server_Info *server, struct mid_q_entry *mid,\n \t\t      bool malformed)\n {\n-\tint length;\n-\n-\tlength = cifs_discard_remaining_data(server);\n+\tcifs_discard_remaining_data(server);\n \tdequeue_mid(server, mid, malformed);\n \tmid->resp_buf = server->smallbuf;\n \tserver->smallbuf = NULL;\n-\treturn length;\n+\n+\t/* Once the mid is dequeued, the callback must run to complete qd_io->done. */\n+\treturn 0;\n }\n \n /*\n","prefixes":["v3","17/19"]}