diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index 3c59bbd04e..b68deae88a 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -907,9 +907,8 @@ ExtendBufferedRelTo(ExtendBufferedWhat eb, { LockRelationForExtension(eb.rel, ExclusiveLock); - /* could have been closed while waiting for lock */ - if (eb.rel) - eb.smgr = RelationGetSmgr(eb.rel); + /* eb.smgr could have been closed while waiting for lock */ + eb.smgr = RelationGetSmgr(eb.rel); /* recheck, fork might have been created concurrently */ if (!smgrexists(eb.smgr, fork)) @@ -1875,8 +1874,9 @@ ExtendBufferedRelShared(ExtendBufferedWhat eb, if (!(flags & EB_SKIP_EXTENSION_LOCK)) { LockRelationForExtension(eb.rel, ExclusiveLock); - if (eb.rel) - eb.smgr = RelationGetSmgr(eb.rel); + + /* eb.smgr could have been closed while waiting for lock */ + eb.smgr = RelationGetSmgr(eb.rel); } /*