[XFS] Fixing the error caused by the conflict between DIO Write's
[linux-2.6-block.git] / fs / xfs / xfs_inode.c
index 2424a4777949cfcab05bf6084724d96dadf38f74..8d2b36879f060fb5940af3232d3db15a00bdced1 100644 (file)
@@ -1420,6 +1420,9 @@ xfs_itruncate_start(
 
        mp = ip->i_mount;
        vp = XFS_ITOV(ip);
+
+       vn_iowait(vp);  /* wait for the completion of any pending DIOs */
+       
        /*
         * Call VOP_TOSS_PAGES() or VOP_FLUSHINVAL_PAGES() to get rid of pages and buffers
         * overlapping the region being removed.  We have to use