From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0EAD8480959 for ; Wed, 15 Jul 2026 14:37:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784126229; cv=none; b=OiraL1Y93p0xRpYyIVgrrRZ+WmFBHJ12jkuA/iZd4aLBlRsDnOGn/kdMDtoBqMtwr4r0he1o6fxkerNcrn4DncYno6vpxHLPy3VRAWAVyM+7Bfg1ev3/T/7nNZ5C9ONs2rAUHgOZcd1HtPjEUMNh7lWG7Y9rCJUJCkn0PviaGVI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784126229; c=relaxed/simple; bh=QHlAcyhY3qbJdc8EpVKuySc+CLEQ45GK88npe2CgNGI=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=V9Crp5USSsltj6tMUCqzeOtmBjCDF/dj1Rg5NhM5RttJf+Vala62RLPj4Jcg918Z/EPBufa0lbj5bsDxWeaZb4lFAubwfuvecb+7daIvL+92gGjN6Uv91grHn866JxQwIbCIGsCdwb0aM3ZKGbp3xFWNWOobUKRMeHy5v9J5nnc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=X2xJYI0c; arc=none smtp.client-ip=209.85.216.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="X2xJYI0c" Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-383b4a3755fso2069231a91.3 for ; Wed, 15 Jul 2026 07:37:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784126227; x=1784731027; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:sender:from:to:cc:subject:date :message-id:reply-to:content-type; bh=rQmdLX5tvY3UqorwHkfxKBPQI7i/9/6KxbDE+/LuHoY=; b=X2xJYI0cBf5jkF+qsumiTdvfJzbFqXPNFtgM9guN3LFeQ2pWWEqK4fAwir0kvDVi2O MhZkawv/WYxDO3mdrIC9Ey1nLzSnPrS7fHAoK8A3B0dML57CZhU3hiRx+lz8RlIiohwl NJfQVHo0DMVJ8WnExImqU9ycqlOo+Zmh3AO5t370PV3GywwpqMYxU/b7XMOyGhrJPkq7 lmIhrCBAdRPRCk7JCqdGSWl1sPTn3BpgeJy2hr2vPDvLeX3tDVF1au/NBs71ipgEUCo+ WPELxF728CglTFrCJrUFFJnlOPithU5Z0qLNuw8xOQbAAkzDVvLiEuE9ER1wkpxFyo8u cuNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784126227; x=1784731027; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:sender:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to:content-type; bh=rQmdLX5tvY3UqorwHkfxKBPQI7i/9/6KxbDE+/LuHoY=; b=DBI06GbPA7fBRCpj/URw10EwHQvHkVsNQEfJxdciQaFieAyyVUw7Kpi9lRyBK8dwSb iqdf8DOYPbWr1f8zPr0F4UzNkiCJDxHMSfQp3KG6PaXExRybX+ofgLFmsa/A1s+Wglr2 zmhiUoFYrwI9hkSxjpHeOOViXiljfF9+xrebZmziCqzEc35WN7piMsw4lstLkuQS8bmK pEw93wYsbGoFfDhukI6M+uJyVYzjOuHbwvN19ppIkthTb5cyGmL4XwewaiM0/ctftoxf 4lNFdJIYdbR9S/onynUfezumXlV7RN9qFOSmgJYbAUyJgpQHwp1uucWNr0bM/PpwoxKM 8VKg== X-Forwarded-Encrypted: i=1; AHgh+Ro3xQHxJ3nqtKCrxURHca9Egk1MJHc9Ae1WkpGp1PehcVFH0xgicwEXFW0VHWMr0DLWmZOk8jPGjSgHqmE=@vger.kernel.org X-Gm-Message-State: AOJu0Yz3OsNXi7AeuxG1wSEOK0AlYybD5PrPcO3klGyqqV0bs/+V9NQp v+uHbusa9G2uwCb2GBDHmBNHPM4PjYt/D8AqG+WFBb1yZe08rc5TGbua X-Gm-Gg: AfdE7cmT+UednGDwo8jDuj0dYgQaJeS4g2wpRuvKmqKRKi/Ln7LUeKZliWqegij4AJH ujs0QpaisNUH6TfiSc8jjcrxqTK6+Aj2SndmYsQRaBmIhCVBJDbh8NJ61W0MQeb+0mOheE+/NeG P2LV9uyVCYo+q22IdKJQdf2nyYTxuUtZOOaV7I9P+cfjV3Y5l81r6EcmV7sBAWXuBvelC9A+clw kny+U99fIDswx/bH5CwREvrSkjyvkFlsqOu3B6Ouzi2E682WX6kiCioyrkvoudn1EMbdXsaxy5o S3g1sXYu0oVA05wh2uMcb4lqI9/wH4WvZt1sWEiJYYhpsgRFY/UIv75UKYMOpDDK4IjrqWB793w yiqHDTbpX6WX+BdthUCyIue0noYsW0TVT+7Z7s5KaEubSWYaHaWYSCYd56k7izo62AQfGIDORU3 7CQimsZKX2Layxc80+MsoaQYja4DVffBTiA+hGubo/fLj0Y4BAyx0= X-Received: by 2002:a17:90b:35c4:b0:381:21c1:75c0 with SMTP id 98e67ed59e1d1-38dc74cfa71mr16782817a91.15.1784126227181; Wed, 15 Jul 2026 07:37:07 -0700 (PDT) Received: from localhost.localdomain ([2406:7400:90:2db1:3066:c473:74d2:497d]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3140e4fd3e9sm2020161eec.1.2026.07.15.07.37.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 07:37:06 -0700 (PDT) Sender: Deepak Rao Gaikwad From: deepakraog To: Ilya Dryomov , Alex Markuze , Viacheslav Dubeyko , ceph-devel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/4] ceph: release unused cap reservation on readdir error Date: Wed, 15 Jul 2026 20:06:44 +0530 Message-ID: <20260715143646.15828-4-gaikwad.dcg@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260715143646.15828-1-gaikwad.dcg@gmail.com> References: <20260715143646.15828-1-gaikwad.dcg@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit ceph_readdir_prepopulate() can exit with an error after partially consuming the request's cap reservation. Return unused reserved caps to the MDS client pool on the error path so they are not held until request teardown. Signed-off-by: deepakraog --- fs/ceph/inode.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c index 61d7c0b81..2d6a80054 100644 --- a/fs/ceph/inode.c +++ b/fs/ceph/inode.c @@ -2188,6 +2188,8 @@ int ceph_readdir_prepopulate(struct ceph_mds_request *req, dput(dn); } out: + if (err) + ceph_unreserve_caps(req->r_mdsc, &req->r_caps_reservation); if (err == 0 && skipped == 0) { set_bit(CEPH_MDS_R_DID_PREPOPULATE, &req->r_req_flags); req->r_readdir_cache_idx = cache_ctl.index; -- Deepak Rao Gaikwad