On Mon, Oct 05, 2009 at 06:55:54PM +0800, Myklebust, Trond wrote: > On Oct 5, 2009, at 3:40, "Wu Fengguang" <fengguang.wu@xxxxxxxxx> wrote: > > > On Mon, Oct 05, 2009 at 03:35:51PM +0800, Wu Fengguang wrote: > >> Trond, I see this trace on linux-next. There are no more dirty pages > >> when `cp' aborts after filling up the partition: > >> > >> cp: writing `/mnt/test/zero3': No space left on device > >> > >> I noticed that since then nr_writeback is decreased very slowly > >> (~100 pages per second). Looks like an interesting behavior. > > > > In the mean time, there are constant 7-8MB/s writes in the NFS server. > > The network flow is much smaller ~400K/s. How can I debug this issue? > > Hi Fengguang > > This is deliberate behaviour. When asynchronous writes start recieving > errors, then we switch to synchronous write mode until the error > condition clears. Ah yes. After ENOSPC, with nfsstat I saw the client side write/commit numbers remain constant, while the server side write number increases ~200 per-second, and commit number also remain static. When all client side nr_writeback drops to 0, the server side write number also stops. > The reason is for doing so is firstly because some filesystems (XFS) > perform very poorly under ENOSPC, and so it takes forever to write > back pages (we don't want to cancel all writebacks for temporary > conditions like ENOSPC). It also allows us to deliver the errors more > promptly to the application. Thanks, Fengguang -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html