From e835e2eb238d7b7ef3662f237bcdd19e948d27f8 Mon Sep 17 00:00:00 2001
From: Steven Niu <niushiji@gmail.com>
Date: Tue, 13 Aug 2024 19:44:56 -0700
Subject: remove duplicated smgrclose

Remove redundant `smgrclose` calls after `smgrdounlinkall`.
The `smgrdounlinkall` now handles all necessary cleanup,
making additional closes unnecessary.

Author: Steven Niu <niushiji@gmail.com>
Reviewed-by: Junwang Zhao

Discussion: https://www.postgresql.org/message-id/flat/CABBtG=cDTCBDCBK7McSy6bJR3s5xUTOg0vSFfuW8oLdUYyCscA@mail.gmail.com
---
 src/backend/catalog/storage.c      | 3 ---
 src/backend/storage/smgr/md.c      | 2 --
 src/backend/utils/cache/relcache.c | 1 -
 3 files changed, 6 deletions(-)

diff --git a/src/backend/catalog/storage.c b/src/backend/catalog/storage.c
index f56b3cc0f2..6c6f895e33 100644
--- a/src/backend/catalog/storage.c
+++ b/src/backend/catalog/storage.c
@@ -686,9 +686,6 @@ smgrDoPendingDeletes(bool isCommit)
 	{
 		smgrdounlinkall(srels, nrels, false);
 
-		for (int i = 0; i < nrels; i++)
-			smgrclose(srels[i]);
-
 		pfree(srels);
 	}
 }
diff --git a/src/backend/storage/smgr/md.c b/src/backend/storage/smgr/md.c
index 6796756358..1d1d1d6f86 100644
--- a/src/backend/storage/smgr/md.c
+++ b/src/backend/storage/smgr/md.c
@@ -1465,8 +1465,6 @@ DropRelationFiles(RelFileLocator *delrels, int ndelrels, bool isRedo)
 
 	smgrdounlinkall(srels, ndelrels, isRedo);
 
-	for (i = 0; i < ndelrels; i++)
-		smgrclose(srels[i]);
 	pfree(srels);
 }
 
diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c
index 66ed24e401..b64676970c 100644
--- a/src/backend/utils/cache/relcache.c
+++ b/src/backend/utils/cache/relcache.c
@@ -3842,7 +3842,6 @@ RelationSetNewRelfilenumber(Relation relation, char persistence)
 		 */
 		srel = smgropen(relation->rd_locator, relation->rd_backend);
 		smgrdounlinkall(&srel, 1, false);
-		smgrclose(srel);
 	}
 	else
 	{
-- 
2.43.0

