X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fllite%2Ffile.c;fp=lustre%2Fllite%2Ffile.c;h=927fe8be66474e389450375487adea8209ecaad7;hp=d68c23290c8978a950ff47baf7c91671ccbf5c80;hb=2fb8444b5a636956281f180a04845502e7e99691;hpb=0aa3d883acfb05b899e9a6dfd5247e2edd671d51 diff --git a/lustre/llite/file.c b/lustre/llite/file.c index d68c232..927fe8b 100644 --- a/lustre/llite/file.c +++ b/lustre/llite/file.c @@ -1668,6 +1668,13 @@ out: } if (io->ci_aio) { + /* + * VFS will call aio_complete() if no -EIOCBQUEUED + * is returned for AIO, so we can not call aio_complete() + * in our end_io(). + */ + if (rc != -EIOCBQUEUED) + io->ci_aio->cda_no_aio_complete = 1; /** * Drop one extra reference so that end_io() could be * called for this IO context, we could call it after