Don't wait for pending I/Os when purging blocks beyond eof.
On last close of a file we purge blocks beyond eof. The same
code is used when we truncate the file size down. In this case
we need to wait for any pending I/Os for dirty pages beyond the
new eof. For the last close case we are not changing the file
size and therefore do not need to wait for any I/Os to complete.
This fixes a performance bottleneck where writes into the page
cache and cache flushes can become mutually exclusive.
Date: Mon Dec 10 16:59:09 AEDT 2007
Inspected by: pleckie
The following file(s) were checked into:
fs/xfs/xfs_inode.c - 1.489 - changed
- Don't wait for pending I/Os when purging blocks beyond eof.