X-Git-Url: http://git.samba.org/samba.git/?p=sfrench%2Fcifs-2.6.git;a=blobdiff_plain;f=fs%2Ffuse%2Ffile.c;h=b52f9baaa3e7b9c98478a8c115748ae71fb7b0e1;hp=cc2121b37bf5f7d3bb0a57398a2abfc6948ad321;hb=ebacb81273599555a7a19f7754a1451206a5fc4f;hpb=2d84a2d19b6150c6dbac1e6ebad9c82e4c123772 diff --git a/fs/fuse/file.c b/fs/fuse/file.c index cc2121b37bf5..b52f9baaa3e7 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c @@ -2924,10 +2924,12 @@ fuse_direct_IO(struct kiocb *iocb, struct iov_iter *iter) } if (io->async) { + bool blocking = io->blocking; + fuse_aio_complete(io, ret < 0 ? ret : 0, -1); /* we have a non-extending, async request, so return */ - if (!io->blocking) + if (!blocking) return -EIOCBQUEUED; wait_for_completion(&wait);