"ITAGAKI Takahiro" <[EMAIL PROTECTED]> wrote > > AbsorbFsyncRequests will be called during the fsync loop in my patch, > so new files might be added to pendingOpsTable and they will be removed > from the table *before* writing the pages belonging to them. > So I changed it to copy the contents of pendingOpsTable to a local > variables and iterate on the vars later. >
I see - it is the AbsorbFsyncRequests() added in mdsync() loop and you want to avoid unecessary fsyncs. But the remove-recover method you use has a caveat: if any hash_search(HASH_ENTER) failed when you try to reinsert them into the pendingOpsTable, you have to raise the error to PANIC since we can't get back the missing fds any more. Regards, Qingqing ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org