Looks good to me. -dros > On Feb 27, 2015, at 11:16 PM, Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> wrote: > > The O_DIRECT code will grab the inode->i_mutex and flush out buffered > writes, before scheduling a read or a write. However there is no > equivalent in the buffered write code to wait for O_DIRECT to complete. > > Fixes a reported issue in xfstests generic/133, when first performing an > O_DIRECT write followed by a buffered write. > > Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> > --- > fs/nfs/file.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/fs/nfs/file.c b/fs/nfs/file.c > index 94712fc781fa..c045c7169fa0 100644 > --- a/fs/nfs/file.c > +++ b/fs/nfs/file.c > @@ -372,6 +372,10 @@ start: > nfs_wait_bit_killable, TASK_KILLABLE); > if (ret) > return ret; > + /* > + * Wait for O_DIRECT to complete > + */ > + nfs_inode_dio_wait(mapping->host); > > page = grab_cache_page_write_begin(mapping, index, flags); > if (!page) > -- > 2.1.0 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html