[PATCH] dio: only call aio_complete() after returning -EIOCBQUEUED
[firefly-linux-kernel-4.4.55.git] / fs / xfs / linux-2.6 / xfs_aops.c
index 8e6b56fc1cad4b52504dd9c4055a3fda3a6d595d..b56eb754e2d23d6f87208a9cff5c9c759193f0d8 100644 (file)
@@ -1406,7 +1406,7 @@ xfs_vm_direct_IO(
                        xfs_end_io_direct);
        }
 
-       if (unlikely(ret <= 0 && iocb->private))
+       if (unlikely(ret != -EIOCBQUEUED && iocb->private))
                xfs_destroy_ioend(iocb->private);
        return ret;
 }