1
- diff --git a/src/backend/replication /basebackup.c b/src/backend/replication /basebackup.c
2
- index 5244823ff85..160889b4a04 100644
3
- --- a/src/backend/replication /basebackup.c
4
- +++ b/src/backend/replication /basebackup.c
1
+ diff --git a/src/backend/backup /basebackup.c b/src/backend/backup /basebackup.c
2
+ index 715428029b3..81f3218540a 100644
3
+ --- a/src/backend/backup /basebackup.c
4
+ +++ b/src/backend/backup /basebackup.c
5
5
@@ -197,6 +197,13 @@ static const struct exclude_list_item excludeFiles[] =
6
6
{"postmaster.pid", false},
7
7
{"postmaster.opts", false},
@@ -52,7 +52,7 @@ index 658fd95ba95..eee38eba176 100644
52
52
* Be paranoid here and fsync all files to ensure the copy is really done.
53
53
* But if fsync is disabled, we're done.
54
54
diff --git a/src/backend/storage/smgr/md.c b/src/backend/storage/smgr/md.c
55
- index 43edaf5d873..bbaf7500944 100644
55
+ index 3deac496eed..07c4ee2ba03 100644
56
56
--- a/src/backend/storage/smgr/md.c
57
57
+++ b/src/backend/storage/smgr/md.c
58
58
@@ -87,6 +87,8 @@ typedef struct _MdfdVec
@@ -63,29 +63,29 @@ index 43edaf5d873..bbaf7500944 100644
63
63
+ mdwrite_hook_type mdwrite_hook = NULL;
64
64
65
65
/* Populate a file tag describing an md.c segment file. */
66
- #define INIT_MD_FILETAG(a,xx_rnode ,xx_forknum,xx_segno) \
67
- @@ -467 ,6 +469 ,9 @@ mdextend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum,
66
+ #define INIT_MD_FILETAG(a,xx_rlocator ,xx_forknum,xx_segno) \
67
+ @@ -484 ,6 +486 ,9 @@ mdextend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum,
68
68
register_dirty_segment(reln, forknum, v);
69
69
70
70
Assert(_mdnblocks(reln, forknum, v) <= ((BlockNumber) RELSEG_SIZE));
71
71
+
72
72
+ if (mdextend_hook)
73
- + mdextend_hook(reln->smgr_rnode , forknum, blocknum);
73
+ + mdextend_hook(reln->smgr_rlocator , forknum, blocknum);
74
74
}
75
75
76
76
/*
77
- @@ -756 ,6 +761 ,9 @@ mdwrite(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum,
77
+ @@ -773 ,6 +778 ,9 @@ mdwrite(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum,
78
78
79
79
if (!skipFsync && !SmgrIsTemp(reln))
80
80
register_dirty_segment(reln, forknum, v);
81
81
+
82
82
+ if (mdwrite_hook)
83
- + mdwrite_hook(reln->smgr_rnode , forknum, blocknum);
83
+ + mdwrite_hook(reln->smgr_rlocator , forknum, blocknum);
84
84
}
85
85
86
86
/*
87
87
diff --git a/src/backend/storage/sync/sync.c b/src/backend/storage/sync/sync.c
88
- index e1fb6310038..76d75680b31 100644
88
+ index 9d6a9e91090..990d0722229 100644
89
89
--- a/src/backend/storage/sync/sync.c
90
90
+++ b/src/backend/storage/sync/sync.c
91
91
@@ -81,6 +81,8 @@ static MemoryContext pendingOpsCxt; /* context for the above */
@@ -108,7 +108,7 @@ index e1fb6310038..76d75680b31 100644
108
108
sync_in_progress = false;
109
109
}
110
110
diff --git a/src/bin/pg_checksums/pg_checksums.c b/src/bin/pg_checksums/pg_checksums.c
111
- index 21dfe1b6ee5..266ac1ef40a 100644
111
+ index 324ccf77834..e82cae5f325 100644
112
112
--- a/src/bin/pg_checksums/pg_checksums.c
113
113
+++ b/src/bin/pg_checksums/pg_checksums.c
114
114
@@ -118,6 +118,11 @@ static const struct exclude_list_item skip[] = {
@@ -186,7 +186,7 @@ index d4772a29650..3318f64359d 100644
186
186
/*
187
187
* Write an empty XLOG file, containing only the checkpoint record
188
188
diff --git a/src/bin/pg_rewind/filemap.c b/src/bin/pg_rewind/filemap.c
189
- index 62529310415..b496f54fb06 100644
189
+ index 269ed6446e6..6318a8c1f55 100644
190
190
--- a/src/bin/pg_rewind/filemap.c
191
191
+++ b/src/bin/pg_rewind/filemap.c
192
192
@@ -157,6 +157,10 @@ static const struct exclude_list_item excludeFiles[] =
@@ -228,25 +228,25 @@ index 50a26edeb06..af1602f5154 100644
228
228
extern void copy_file(char *fromfile, char *tofile);
229
229
230
230
diff --git a/src/include/storage/md.h b/src/include/storage/md.h
231
- index ffffa40db71..3ff98e0bf01 100644
231
+ index 10aa1b0109b..1415675824e 100644
232
232
--- a/src/include/storage/md.h
233
233
+++ b/src/include/storage/md.h
234
234
@@ -19,6 +19,13 @@
235
235
#include "storage/smgr.h"
236
236
#include "storage/sync.h"
237
237
238
- + typedef void (*mdextend_hook_type) (RelFileNodeBackend smgr_rnode ,
238
+ + typedef void (*mdextend_hook_type) (RelFileLocatorBackend smgr_rlocator ,
239
239
+ ForkNumber forknum, BlockNumber blocknum);
240
240
+ extern PGDLLIMPORT mdextend_hook_type mdextend_hook;
241
- + typedef void (*mdwrite_hook_type) (RelFileNodeBackend smgr_rnode ,
241
+ + typedef void (*mdwrite_hook_type) (RelFileLocatorBackend smgr_rlocator ,
242
242
+ ForkNumber forknum, BlockNumber blocknum);
243
243
+ extern PGDLLIMPORT mdwrite_hook_type mdwrite_hook;
244
244
+
245
245
/* md storage manager functionality */
246
246
extern void mdinit(void);
247
247
extern void mdopen(SMgrRelation reln);
248
248
diff --git a/src/include/storage/sync.h b/src/include/storage/sync.h
249
- index 9737e1eb67c..914ad86328f 100644
249
+ index 049af878dec..7689d49a24e 100644
250
250
--- a/src/include/storage/sync.h
251
251
+++ b/src/include/storage/sync.h
252
252
@@ -55,6 +55,9 @@ typedef struct FileTag
0 commit comments