xfs
[Top] [All Lists]

TAKE 964092 - synchronous direct I/O write calls are incomplete when re

To: xfs@xxxxxxxxxxx, sgi.bugs.xfs@xxxxxxxxxxxx
Subject: TAKE 964092 - synchronous direct I/O write calls are incomplete when returning to user space
From: dgc@xxxxxxx (David Chinner)
Date: Mon, 4 Jun 2007 17:18:40 +1000 (EST)
Sender: xfs-bounce@xxxxxxxxxxx
Block on unwritten extent conversion during synchronous direct I/O.

Currently we do not wait on extent conversion to occur, and hence we
can return to userspace from a sycnhronous direct I/O write without
having completed all teh actions in the write. Hence a read after
the write may see zeroes (unwritten extent) rather than the data
that was written.

Block the I/O completion by triggering a synchronous workqueue flush
to ensure that the conversion has occurred before we return to
userspace.


Date:  Mon Jun  4 17:18:01 AEST 2007
Workarea:  chook.melbourne.sgi.com:/build/dgc/isms/2.6.x-xfs
Inspected by:  tes@xxxxxxx

The following file(s) were checked into:
  longdrop.melbourne.sgi.com:/isms/linux/2.6.x-xfs-melb


Modid:  xfs-linux-melb:xfs-kern:28775a
fs/xfs/linux-2.6/xfs_aops.c - 1.144 - changed
http://oss.sgi.com/cgi-bin/cvsweb.cgi/xfs-linux/linux-2.6/xfs_aops.c.diff?r1=text&tr1=1.144&r2=text&tr2=1.143&f=h
        - Make unwritten extent conversion occur synchronously for synchronous
          direct I/O to ensure it is completed before we return to userspace.



<Prev in Thread] Current Thread [Next in Thread>
  • TAKE 964092 - synchronous direct I/O write calls are incomplete when returning to user space, David Chinner <=