v2-0001-remove-duplicated-smgrclose.patch
application/octet-stream
Filename: v2-0001-remove-duplicated-smgrclose.patch
Type: application/octet-stream
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: format-patch
Series: patch v2-0001
Subject: remove duplicated smgrclose
| File | + | − |
|---|---|---|
| src/backend/catalog/storage.c | 0 | 3 |
| src/backend/storage/smgr/md.c | 0 | 2 |
| src/backend/storage/smgr/smgr.c | 1 | 3 |
| src/backend/utils/cache/relcache.c | 0 | 1 |
From f9471de69c00a99eb3dd3bc87292a5808fb1f702 Mon Sep 17 00:00:00 2001
From: Zhao Junwang <zhjwpku@gmail.com>
Date: Thu, 1 Aug 2024 12:23:10 +0000
Subject: [PATCH v2] 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
---
src/backend/catalog/storage.c | 3 ---
src/backend/storage/smgr/md.c | 2 --
src/backend/storage/smgr/smgr.c | 4 +---
src/backend/utils/cache/relcache.c | 1 -
4 files changed, 1 insertion(+), 9 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/storage/smgr/smgr.c b/src/backend/storage/smgr/smgr.c
index 7b9fa103ef..2356b2ff1c 100644
--- a/src/backend/storage/smgr/smgr.c
+++ b/src/backend/storage/smgr/smgr.c
@@ -482,13 +482,11 @@ smgrdounlinkall(SMgrRelation *rels, int nrels, bool isRedo)
for (i = 0; i < nrels; i++)
{
RelFileLocatorBackend rlocator = rels[i]->smgr_rlocator;
- int which = rels[i]->smgr_which;
rlocators[i] = rlocator;
/* Close the forks at smgr level */
- for (forknum = 0; forknum <= MAX_FORKNUM; forknum++)
- smgrsw[which].smgr_close(rels[i], forknum);
+ smgrclose(rels[i]);
}
/*
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.39.2