Adding linux-btrfs to Cc. Am Freitag, 27. Januar 2012 schrieb Jeff Moyer: > Hi, Hi, > As it stands, generic_file_aio_write will call into generic_write_sync > when -EIOCBQUEUED is returned from __generic_file_aio_write. > EIOCBQUEUED indicates that an I/O was submitted but NOT completed. > Thus, we will flush the disk cache, potentially before the write(s) > even make it to the disk! Up until now, this has been the best we > could do, as file systems didn't bother to flush the disk cache after > an O_SYNC AIO+DIO write. After applying the prior two patches to xfs > and ext4, at least the major two file systems do the right thing. So, > let's go ahead and fix this backwards logic. Would this need an adaption to BTRFS as well? Thanks, Martin > Signed-off-by: Jeff Moyer <jmoyer@xxxxxxxxxx> > --- > mm/filemap.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/mm/filemap.c b/mm/filemap.c > index c4ee2e9..004442f 100644 > --- a/mm/filemap.c > +++ b/mm/filemap.c > @@ -2634,7 +2634,7 @@ ssize_t generic_file_aio_write(struct kiocb > *iocb, const struct iovec *iov, ret = __generic_file_aio_write(iocb, > iov, nr_segs, &iocb->ki_pos); mutex_unlock(&inode->i_mutex); > > - if (ret > 0 || ret == -EIOCBQUEUED) { > + if (ret > 0) { > ssize_t err; > > err = generic_write_sync(file, pos, ret); -- Martin 'Helios' Steigerwald - http://www.Lichtvoll.de GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html