]> 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:10:55 +0000 (17:10 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 12 Apr 2007 17:10:55 +0000 (17:10 +0000)
commit995ba280c153aec43a01bd2f2e1f8a74203e04d9
treec68e89e42ab1b6f07b4263ae1106651ee72e90f5
parentebb6bae539e124c34674ecf0d0f387e0a873c314
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