]> git.baikalelectronics.ru Git - kernel.git/commit
CIFS: Add asynchronous context to support kernel AIO
authorPavel Shilovsky <pshilov@microsoft.com>
Tue, 25 Apr 2017 18:52:29 +0000 (11:52 -0700)
committerSteve French <smfrench@gmail.com>
Tue, 2 May 2017 19:57:34 +0000 (14:57 -0500)
commitf30891cbf1fb26476e16172a4a4cd7fc2bac3faa
treee36e26b596216f44e08266913ae9fd5d7a0ebc64
parent66f02e28da7ccf15bd2afc02719afec6c02cd4d5
CIFS: Add asynchronous context to support kernel AIO

Currently the code doesn't recognize asynchronous calls passed
by io_submit() and processes all calls synchronously. This is not
what kernel AIO expects. This patch introduces a new async context
that keeps track of all issued i/o requests and moves a response
collecting procedure to a separate thread. This allows to return
to a caller immediately for async calls and call iocb->ki_complete()
once all requests are completed. For sync calls the current thread
simply waits until all requests are completed.

Signed-off-by: Pavel Shilovsky <pshilov@microsoft.com>
Signed-off-by: Steve French <smfrench@gmail.com>
fs/cifs/cifsglob.h
fs/cifs/cifsproto.h
fs/cifs/misc.c