"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

Reply via email to