From: Suparna Bhattacharya I'm not sure if this would help here, but there is one bug which I just spotted which would affect writev from XFS. I wasn't passing the nr_segs down properly. mm/filemap.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN mm/filemap.c~aio-writev-nsegs-fix mm/filemap.c --- 25/mm/filemap.c~aio-writev-nsegs-fix 2003-08-26 10:31:58.000000000 -0700 +++ 25-akpm/mm/filemap.c 2003-08-26 10:31:58.000000000 -0700 @@ -1918,7 +1918,7 @@ generic_file_aio_write_nolock(struct kio goto osync; } - ret = __generic_file_aio_write_nolock(iocb, iov, 1, ppos); + ret = __generic_file_aio_write_nolock(iocb, iov, nr_segs, ppos); /* * Avoid doing a sync in parts for aio - its more efficient to _