]> granicus.if.org Git - postgresql/commit
Rearrange mdsync() looping logic to avoid the problem that a sufficiently
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 12 Apr 2007 17:11:07 +0000 (17:11 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 12 Apr 2007 17:11:07 +0000 (17:11 +0000)
commite98de00da35cedecd9b6032ed391a6c8a18b38f9
treebfb97f69cbbcfd4796b3294a858fab9651e2f3ad
parent6c6b8f028a82810484a9aafc20e9f0ddebe9e483
Rearrange mdsync() looping logic to avoid the problem that a sufficiently
fast flow of new fsync requests can prevent mdsync() from ever completing.
This was an unforeseen consequence of a patch added in Mar 2006 to prevent
the fsync request queue from overflowing.  Problem identified by Heikki
Linnakangas and independently by ITAGAKI Takahiro; fix based on ideas from
Takahiro-san, Heikki, and Tom.

Back-patch as far as 8.1 because a previous back-patch introduced the problem
into 8.1 ...
src/backend/storage/smgr/md.c