From 707964b6a87f03675396c5ecfed411902a1f6232 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 12 Apr 2007 15:04:41 +0000 Subject: [PATCH] Cancel pending fsync requests during WAL replay of DROP DATABASE, per bug report from David Darville. Back-patch as far as 8.1, which may or may not have the problem but it seems a safe change anyway. --- src/backend/commands/dbcommands.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c index 4a11d0c419b..fdd5e32b37b 100644 --- a/src/backend/commands/dbcommands.c +++ b/src/backend/commands/dbcommands.c @@ -13,7 +13,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/dbcommands.c,v 1.187.2.1 2007/01/27 20:15:47 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/commands/dbcommands.c,v 1.187.2.2 2007/04/12 15:04:41 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1438,6 +1438,9 @@ dbase_redo(XLogRecPtr lsn, XLogRecord *record) /* Also, clean out any entries in the shared free space map */ FreeSpaceMapForgetDatabase(xlrec->db_id); + /* Also, clean out any fsync requests that might be pending in md.c */ + ForgetDatabaseFsyncRequests(xlrec->db_id); + /* Clean out the xlog relcache too */ XLogDropDatabase(xlrec->db_id);